求大佬帮忙看看呗(悬赏关注
查看原帖
求大佬帮忙看看呗(悬赏关注
819516
liusir146楼主2024/5/26 15:30

样例都没过...

#include<bits/stdc++.h>
using namespace std;
const int N=35;
int n,Mod,k;
struct Node{
	int mx[N][N];
}a,b,c,s,sum;
Node operator *(const Node &a,const Node &b){
	memset(c.mx,0,sizeof(c.mx));
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			for(int k=1;k<=n;k++){
				c.mx[i][j]=(c.mx[i][j]+(a.mx[i][k]*b.mx[k][j])%Mod)%Mod;
				sum.mx[i][j]=(sum.mx[i][j]+c.mx[i][j])%Mod;
			}
			//cout<<c.mx[i][j]<<" ";
		}
		//cout<<endl;
	}
	return c;
}
int main(){
	cin>>n>>k>>Mod;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>a.mx[i][j];
		}
		s.mx[i][i]=1;
	}
	while(k){
		if(k&1) s=s*a;
		a=a*a;
		k>>=1;
	}
	//cout<<endl;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<sum.mx[i][j]%Mod<<" ";
		}
		cout<<endl;
	}
	return 0;	
}
2024/5/26 15:30
加载中...