結果

問題 No.1702 count good string
ユーザー ntuda
提出日時 2025-06-04 20:29:23
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 67 ms / 2,000 ms
コード長 424 bytes
コンパイル時間 343 ms
コンパイル使用メモリ 81,920 KB
実行使用メモリ 76,032 KB
最終ジャッジ日時 2025-06-04 20:29:28
合計ジャッジ時間 4,628 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 47
権限があれば一括ダウンロードができます

ソースコード

diff #

MOD = 10 ** 9 + 7
N = int(input())
S = input()
dp = [[0, 0] for _ in range(10)]
dp[0][0] = 1
dic = dict(zip("yukicoder", range(1, 10)))
for s in S:
    if s in dic:
        a = dic[s]
        for i in range(2):
            dp[a][i] += dp[a - 1][i]
            dp[a][i] %= MOD
    if s == "?":
        for i in reversed(range(1, 10)):
            dp[i][1] += dp[i - 1][0]
            dp[i][1] %= MOD
print(sum(dp[-1]) % MOD)
0