結果
問題 |
No.145 yukiover
|
ユーザー |
|
提出日時 | 2015-10-10 01:02:29 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,390 bytes |
コンパイル時間 | 135 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-07-20 04:53:13 |
合計ジャッジ時間 | 3,729 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 16 WA * 4 |
ソースコード
#coding=UTF-8 #勝ち方は #z #y[y-v] #yu[u-l] #yuk[k-j] #yuki[i-a] #0 yuki #1 yukii yuk #2 yukii yukk yui #4 yukii yukk yukii yu #5 yukii yukk yukii yuu yki #7 yukii yukii yukii yukk yukk yuu yi #zを量産する #y*の解を考える #y[x-v]を作る #yを使い切ったらおしまい #yu*の解を考える def kan(ichi,haba):#ichi(0-org)以上文字目でyukioverと決定する文字列の個数を数える関数 if ichi>4 or haba<=0: return 0#新規性ゼロ else: #丁度ichi文字目で決着するの #'yuki'[0:ichi]+('yuki'[ichi]より強いの) の場合 tmp=bunpu[8-ichi*2] if haba<=tmp: return haba else: haba=haba-tmp #それとichi+1以上文字目で決着するの if ichi<=3: myon=kan(ichi+1,min(haba,bunpu[7-ichi*2]))#ichi文字目を置く amari=bunpu[7-ichi*2]-myon#余りでyuuとか作る感じ return tmp+myon+amari//2 else: return tmp N=int(input()) S=input() kubun=['abcdefgh', 'i', 'j', 'k', 'lmnopqrst', 'u', 'vwx', 'y', 'z'] bunpu=[0]*len(kubun) for moji in S: for idx in range(0,len(kubun),1): if moji in kubun[idx]: bunpu[idx]=bunpu[idx]+1 ans=kan(0,N) print(ans)