結果
問題 | No.2867 NOT FOUND 404 Again |
ユーザー |
|
提出日時 | 2024-08-30 22:39:27 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 749 ms / 3,000 ms |
コード長 | 794 bytes |
コンパイル時間 | 345 ms |
コンパイル使用メモリ | 82,404 KB |
実行使用メモリ | 78,092 KB |
最終ジャッジ日時 | 2024-08-30 22:39:38 |
合計ジャッジ時間 | 10,486 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
N = input() P = 998244353 dp_eq = [1, 0, 0] #0文字一致, 1文字一致, 2文字一致 dp = [0,0,0] for n in N: dp = [(dp[0]*9 + dp[1]*8 + dp[2]*9) % P, (dp[0]+dp[1]) % P, dp[1]] for i in range(int(n)): if i == 0: dp[0] += (dp_eq[0] + dp_eq[2]) dp[2] += dp_eq[1] elif i == 4: dp[1] += dp_eq[0] + dp_eq[1] else: dp[0] += sum(dp_eq) if n == "0" and dp_eq[1] > 0: dp_eq = [0,0,1] elif n == "4": if dp_eq[2] > 0: dp_eq = [0,0,0] else: if sum(dp_eq) > 0: dp_eq = [0, 1, 0] else: dp_eq = [0,0,0] elif sum(dp_eq) > 0: dp_eq = [1,0,0] else: dp_eq = [0,0,0] print((sum(dp) + sum(dp_eq) - 1) % P)