結果
問題 |
No.3242 Count 8 Included Numbers (Hard)
|
ユーザー |
|
提出日時 | 2025-08-22 22:55:54 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,381 ms / 2,000 ms |
コード長 | 716 bytes |
コンパイル時間 | 249 ms |
コンパイル使用メモリ | 82,640 KB |
実行使用メモリ | 302,636 KB |
最終ジャッジ日時 | 2025-08-22 22:56:16 |
合計ジャッジ時間 | 21,240 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 20 |
ソースコード
def readint(): return map(int, input().split()) def readlist(): return list(readint()) n = input() dp = [[[0] * 2 for _ in range(2)] for _ in range(len(n) + 5)] dp[0][0][0] = 1 for i in range(len(n)): for j in range(2): for k in range(2): if dp[i][j][k] == 0: continue lim = int(n[i]) if j == 0 else 9 for digit in range(lim + 1): tight = 1 if j == 1 or digit < lim else 0 flag = 1 if k == 1 or digit == 8 else 0 dp[i + 1][tight][flag] = ( dp[i + 1][tight][flag] + dp[i][j][k] ) % 998244353 ans = dp[len(n)][0][1] + dp[len(n)][1][1] print(ans % 998244353)