結果
問題 | No.2745 String Swap Battle |
ユーザー | tails |
提出日時 | 2024-04-21 01:35:57 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 9 ms / 2,000 ms |
コード長 | 644 bytes |
コンパイル時間 | 2,550 ms |
コンパイル使用メモリ | 176,220 KB |
実行使用メモリ | 7,424 KB |
最終ジャッジ日時 | 2024-10-12 23:57:51 |
合計ジャッジ時間 | 3,380 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
ll@n; string@ss[n]; rep(i,n){ string&s=ss[i]; char b='~'; char w=0; int o=0; int bj=-1; int c; int j; for(j=0;c=s[j];++j){ if(c==w){ o=1; } if(c>w){ w=c; } if(c<w&&c<=b){ b=c; bj=j; } } if(bj>=0){ for(int j=0;c=s[j];++j){ if(c>b){ swap(s[j],s[bj]); break; } } } else if(!o){ swap(s[j-1],s[j-2]); } } int q[n]; int qn=n; rep(i,n){ q[i]=i; } for(int j=0;;++j){ int b='~'; rep(i,qn){ b<?=ss[q[i]][j]; } int w=0; rep(i,qn){ if(ss[q[i]][j]==b){ q[w++]=q[i]; } } qn=w; if(!b){ break; } } int r=0; rep(i,n){ if(r<qn&&q[r]==i){ ++r; wt(n+1-qn); }else{ wt('0'); } }