結果
問題 |
No.1740 Alone 'a'
|
ユーザー |
![]() |
提出日時 | 2021-11-12 21:53:00 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 76 ms / 2,000 ms |
コード長 | 757 bytes |
コンパイル時間 | 291 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 80,000 KB |
最終ジャッジ日時 | 2024-11-25 18:11:41 |
合計ジャッジ時間 | 3,648 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
mod = 998244353 eps = 10**-9 def main(): import sys input = sys.stdin.readline N = int(input()) S = input().rstrip('\n') dp00 = [0] * (N+1) dp01 = [0] * (N+1) dp10 = [0] * (N+1) dp11 = [0] * (N+1) dp00[0] = 1 for i, s in enumerate(S): if s != "a": dp00[i+1] = dp00[i] if s == "a": dp01[i+1] = dp00[i] else: dp01[i+1] = dp01[i] j = ord(s) - 97 dp10[i+1] = (dp10[i] * 25 + dp00[i] * max(0, j-1))%mod if s != "a": dp11[i+1] = (dp11[i] * 25 + dp00[i] + dp01[i] * max(0, j-1) + dp10[i])%mod else: dp11[i + 1] = (dp11[i] * 25 + dp10[i]) % mod print(dp11[-1]) if __name__ == '__main__': main()