結果
問題 | No.2745 String Swap Battle |
ユーザー |
![]() |
提出日時 | 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');}}