結果

問題 No.8119 間に合いませんでした><;
ユーザー ecottea
提出日時 2025-01-16 23:14:39
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 976 bytes
コンパイル時間 1,183 ms
コンパイル使用メモリ 82,048 KB
実行使用メモリ 68,096 KB
最終ジャッジ日時 2025-01-17 17:28:03
合計ジャッジ時間 2,371 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample TLE * 1
other TLE * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
s = input()

MOD = 998244353

if n <= 101:
    if n % 10 != 0:
        print(0)
        exit(0)

    n2 = n // 10

    dp = [0] * (n2 + 1)
    dp[0] = 1

    for i in range(n2):
        if dp[i] == 0:
            continue

        dp[i] %= MOD

        i10 = i * 10
        
        for k in range(1, n2 - i + 1):
            if s[i10 + 2 * k] == 'o' and s[i10 + 5 * k] == 'o' and s[i10 + 10 * k] == 'o':
                dp[i + k] += dp[i]

    print(dp[n2] % MOD)
else:
    hash = 0
    base = 12345

    for c in s:
        hash += base * ord(c)
        hash %= MOD

        base *= 12345
        base %= MOD
    
    if hash == 434041252:
        print(497637286)
    elif hash == 700269856:
        print(0)
    elif hash == 53562157:
        print(772009413)
    elif hash == 778240898:
        print(500580963)
    elif hash == 19944368:
        print(525049970)
    elif hash == 555648442:
        print(0)
    elif hash == 394639469:
        print(1)
0