直接上代码(我比较懒)
struct M{
ll x[55][55];
M (){
memset(x,0,sizeof(x));
}
M clear(int a){
for (int i=0;i<n;i++)
x[i][a]=0;
}
M out(){
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
cout<<x[i][j]<<" ";
cout<<endl;
}
}
friend M operator *(M a,M b){
M c;
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
for (int k=0;k<n;k++)
c.x[i][j]=mo(c.x[i][j]+a.x[i][k]*b.x[k][j],p);
return c;
}
friend M operator ^(M a,int b){
M ans;
for (int i=0;i<n;i++) ans.x[i][i]=1;
for (;b;b>>=1,a=a*a)
if (b&1) ans=ans*a;
return ans;
}
};
鳄鱼沼泽
题目描述
潘塔纳尔沼泽地号称世界上最大的一块湿地,它地位于巴西中部马托格罗索州的南部地区。每当雨季来临,这里碧波荡漾、生机盎然,引来不少游客。为了让游玩更有情趣,人们在池塘的中央建设了几座石墩和石桥,每座石桥连接着两座石墩,且每两座石墩之间至多只有一座石桥。这个景点造好之后一直没敢对外开放,原因是池塘里有不少危险的食人鱼。豆豆先生酷爱冒险,他一听说这个消息,立马赶到了池塘,想做第一个在