結果
問題 | No.1964 sum = length |
ユーザー |
![]() |
提出日時 | 2022-06-03 21:40:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 119 ms / 2,000 ms |
コード長 | 636 bytes |
コンパイル時間 | 275 ms |
コンパイル使用メモリ | 81,752 KB |
実行使用メモリ | 76,872 KB |
最終ジャッジ日時 | 2024-09-21 02:31:58 |
合計ジャッジ時間 | 4,102 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
#dp[i][j] : i番目までみて, a[i] - l(a[i]) の総和がjの個数 #dp[n][n-1]が答え. n = int(input()) mod = 998244353 dp = [[0 for j in range(n)] for i in range(n+1)] dp[0][0] = 1 for i in range(n): for j in range(n): for k in range(1, 10): if j+k-1 >= n: break if 0 <= j+k-1: dp[i+1][j+k-1] += dp[i][j] dp[i+1][j+k-1] %= mod for k in range(10, 100): if j+k-2 >= n: break if 0 <= j+k-2: dp[i+1][j+k-2] += dp[i][j] dp[i+1][j+k-2] %= mod for k in range(100, 206): if j+k-3 >= n: break if 0 <= j+k-3: dp[i+1][j+k-3] += dp[i][j] dp[i+1][j+k-3] %= mod print(dp[n][n-1])