結果
問題 |
No.2986 Permutation Puzzle
|
ユーザー |
![]() |
提出日時 | 2024-12-11 18:07:03 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 9 ms / 2,000 ms |
コード長 | 944 bytes |
コンパイル時間 | 3,675 ms |
コンパイル使用メモリ | 179,952 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-11 18:07:09 |
合計ジャッジ時間 | 5,324 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 40 |
ソースコード
ll n,h[4][3]; char a[5][10][10],b[10][10]; bool f(ll z){ if(z==0){ return memcmp(a,b,100)==0; } --z; rep(p,n){ rep(y,n){ memcpy(a[z][a[z+1][p][y]],a[z+1][y],10); } 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); rep(y,n){ rep(x,n){ int@v; a[k][y][x]=v-1; } } rep(y,n){ rep(x,n){ int@v; b[y][x]=v-1; } } 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); } } }