結果
問題 | No.2986 Permutation Puzzle |
ユーザー |
![]() |
提出日時 | 2024-12-11 17:41:46 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 16 ms / 2,000 ms |
コード長 | 936 bytes |
コンパイル時間 | 3,325 ms |
コンパイル使用メモリ | 180,700 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-11 17:41:52 |
合計ジャッジ時間 | 5,145 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 40 |
ソースコード
ll n,a[5][10][10],b[10][10],h[4][3]; bool f(ll z){ if(z==0){ rep(y,n){ rep(x,n){ if(a[0][y][x]!=b[y][x]){ return false; } } } return true; } --z; rep(p,n){ rep(y,n){ rep(x,n){ a[z][a[z+1][p][y]][x]=a[z+1][y][x]; } } if(f(z)){ h[z][0]=1; h[z][1]=p; return true; } } rep(p,n){ rep(y,n){ rep(x,n){ a[z][y][a[z+1][x][p]]=a[z+1][y][x]; } } if(f(z)){ h[z][0]=0; h[z][1]=p; return true; } } return false; } { ll k; rd(n,k,(a[k]--)(n,n),(b--)(n,n)); f(k); ll m=0; IntMap c(n); rep(z,k){ if(h[z][0]){ rep(x,n){ c[x]=a[z+1][h[z][1]][x]; } }else{ rep(y,n){ c[y]=a[z+1][y][h[z][1]]; } } ll n=c.calcCycle(); m+=h[z][2]=lcm[i,0,n](c.cycleLen[i])-1; } wt(m); rep(z,k){ ll p=h[z][1]; rep(i,h[z][2]){ if(h[z][0]){ p=a[z+1][h[z][1]][p]; }else{ p=a[z+1][p][h[z][1]]; } wt(h[z][0]?'R':'C',p+1); } } }