所以为什么会炸捏?
查看原帖
所以为什么会炸捏?
310406
fish_toucher楼主2022/6/18 20:46
#include<bits/stdc++.h>
using namespace std;
#define mod 1000000007
int n,k;
struct sq{
	int s[500][500];
	int x,y;
}ans,e,c;
sq f(sq a,sq b){
	c.x=a.x;
	c.y=b.y;
	for(int i=1;i<=a.x;i++){
		for(int j=1;j<=b.y;j++){
			int w=0;
			for(int k=1;k<=a.y;k++){
				w+=a.s[i][k]*b.s[k][j];
				w%=mod;
			}
			c.s[i][j]=w;
		}
	}
	return c;
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		ans.s[i][i]=1;
		for(int j=1;j<=n;j++){
			cin>>e.s[i][j];
		}
	}
	ans.x=n;
	ans.y=n;
	e.x=n;
	e.y=n;
	while(k){
		if(k&1)ans=f(x,ans);
		x=f(x,x);
		k/=2;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
		//	cout<<ans.s[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

(program received signal sigsegv)

2022/6/18 20:46
加载中...