結果
問題 | No.1702 count good string |
ユーザー |
👑 ![]() |
提出日時 | 2021-10-08 22:09:05 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 149 ms / 2,000 ms |
コード長 | 619 bytes |
コンパイル時間 | 344 ms |
コンパイル使用メモリ | 82,252 KB |
実行使用メモリ | 76,672 KB |
最終ジャッジ日時 | 2024-07-23 04:30:15 |
合計ジャッジ時間 | 6,162 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 47 |
ソースコード
N=int(input()) S=input() Mod=10**9+7 yukicoder=set("yukicoder") Ind={a:i for i,a in enumerate("yukicoder")} DP=[[0,0] for _ in range(10)] DP[0][0]=1 for s in S: E=DP DP=[[0,0] for _ in range(10)] for level in range(10): for mode in [0,1]: DP[level][mode]=E[level][mode] if s=="?": for level in range(9): DP[level+1][1]+=DP[level][0] elif s in yukicoder: level=Ind[s] DP[level+1][0]+=DP[level][0] DP[level+1][1]+=DP[level][1] for level in range(10): DP[level][0]%=Mod DP[level][1]%=Mod print(sum(DP[9])%Mod)