玄关,求条
查看原帖
玄关,求条
1036416
YangXiaoyv楼主2024/4/9 19:12

各位大佬,行行好,调调吧,改了一个周啦

#include<bits/stdc++.h>  
using namespace std;  
const long long N=(long long)1e9+7;  
long long n,m;  
long long a[101][101];  
long long ans[101][101];  
void blabla(){  
	for(long long i=1;i<=n;i++)  
				for(long long j=1;j<=n;j++)  
					for(long long k=1;k<=n;k++){  
						ans[i][j]+=a[i][k]*a[k][j];  
						ans[i][j]%=N;  
					}  
}  
void QP(){  
	while(m){  
		if(m&1){  
			blabla();  
			for(long long i=1;i<=n;i++){  
				for(long long j=1;j<=n;j++){  
					ans[i][j]%=N;  
				}  
			}  
		}  
		m>>1;  
		blabla();  
	}	  
	return ;  
}  
int main(){  
	cin>>n>>m;  
	for(long long i=1;i<=n;i++)  
		for(long long j=1;j<=n;j++)  
			cin>>a[i][j];  
	QP();  
	if(m==0)  
		for(long long i=1;i<=n;i++)  
			for(long long j=1;j<=n;j++)  
				if(i==j)ans[i][j]=1;  
	for(long long i=1;i<=n;i++){  
		for(long long j=1;j<=n;j++)  
			cout<<ans[i][j]<<' ';  
		cout<<endl;  
	}  
	return 0;  
}  
2024/4/9 19:12
加载中...