結果
| 問題 |
No.145 yukiover
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-10-10 01:17:48 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,436 bytes |
| コンパイル時間 | 174 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 11,136 KB |
| 最終ジャッジ日時 | 2024-07-20 04:53:50 |
| 合計ジャッジ時間 | 3,878 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 2 |
| other | AC * 3 WA * 17 |
ソースコード
#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と決定する文字列の個数を数える関数
#habaは'yuki'[0:ichi]の個数
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=haba-myon#余りでyuuとか作る感じ(ichi文字目決着)
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)