Zoj 3497 Mistwald(マトリックス高速パワー)



Zoj 3497 Mistwald



http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3497

ルールに従って、マップを処理できます。



次に、最大25 * 25マトリックスの高速電力があります

#include using namespace std struct node{ int ma[33][33] } int s node mul(node a,node b) { node c memset(c.ma,0,sizeof(c.ma)) for(int i=0i=1 } return ans } int main() { int t cin>>t while(t--) { int n,m node a memset(a.ma,0,sizeof(a.ma)) cin>>n>>m s=n*m for(int i=0il1>>l2 cin>>s1>>l1>>s2 cin>>l1>>l2>>l3 cin>>s3>>l1>>s4 cin>>l1>>l2>>l3 cin>>s5>>l1>>s6 cin>>l1>>l2>>l3 cin>>s7>>l1>>s8 cin>>l1>>l2 //scanf('((%d,%d),(%d,%d),(%d,%d),(%d,%d))',&s1,&s2,&s3,&s4,&s5,&s6,&s7,&s8) if(i==n-1&&j==m-1)continue a.ma[i*m+j][(s1-1)*m+s2-1]=1 a.ma[i*m+j][(s3-1)*m+s4-1]=1 a.ma[i*m+j][(s5-1)*m+s6-1]=1 a.ma[i*m+j][(s7-1)*m+s8-1]=1 } } int q cin>>q while(q--) { int k cin>>k node mb=qpow(a,k) if(mb.ma[0][s-1]==0) { cout<<'False'<