結果
問題 | No.1702 count good string |
ユーザー | gr1msl3y |
提出日時 | 2021-10-08 22:21:21 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 64 ms / 2,000 ms |
コード長 | 437 bytes |
コンパイル時間 | 341 ms |
コンパイル使用メモリ | 82,440 KB |
実行使用メモリ | 71,588 KB |
最終ジャッジ日時 | 2024-07-23 04:52:43 |
合計ジャッジ時間 | 4,030 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 47 |
ソースコード
N = int(input()) S = input() MOD = 10**9+7 T = 'yukicoder' U = set(list(T)) dp = [[0]*3 for _ in range(10)] dp[0][0] = 1 for s in S: if s == '?': for i in range(9, 0, -1): dp[i][1] += dp[i-1][0] dp[i][1] %= MOD elif s in U: i = T.index(s) dp[i+1][0] += dp[i][0] dp[i+1][0] %= MOD dp[i+1][2] += dp[i][1]+dp[i][2] dp[i+1][2] %= MOD print(sum(dp[-1]) % MOD)