样例过了,全WA,求调
查看原帖
样例过了,全WA,求调
937537
ldll0721楼主2024/8/2 15:55
#include<bits/stdc++.h>
using namespace std;
#define int long long
int m,aa,c,x,g,n;
struct matrix{
	int num[5][5];
	matrix(){
		memset(num,0,sizeof(num));
	}
	matrix operator *(const matrix a) const{
		matrix b;
		for(int i=1;i<=2;i++){
			for(int j=1;j<=2;j++){
				for(int k=1;k<=2;k++){
					b.num[i][j]+=(num[i][k]+a.num[k][j])%m;
				}
			}
		}
		return b;
	}
}a,b;
void pow(int k){
	while(k){
		if(k%2)a=a*b;
		b=b*b;
		k/=2;
	}
}
signed main(){
    cin>>m>>aa>>c>>x>>n>>g;
    a.num[1][1]=x;
    a.num[1][2]=c;
    b.num[1][1]=aa;
    b.num[2][1]=0;
    b.num[1][2]=1;
    b.num[2][2]=1;
    pow(n);
    cout<<a.num[1][1];
	return 0;
}

2024/8/2 15:55
加载中...