結果
問題 |
No.189 SUPER HAPPY DAY
|
ユーザー |
![]() |
提出日時 | 2021-01-05 20:42:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 605 ms / 5,000 ms |
コード長 | 899 bytes |
コンパイル時間 | 402 ms |
コンパイル使用メモリ | 82,856 KB |
実行使用メモリ | 147,664 KB |
最終ジャッジ日時 | 2024-11-06 06:30:30 |
合計ジャッジ時間 | 7,409 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
mod = 10 ** 9 + 9 U = 2020 def F(A): N = len(A) dp = [[[0] * 2 for _ in range(U + 1)] for _ in range(N + 1)] dp[0][0][0] = 1 for i, nd in enumerate(A): nd = int(nd) for j in range(U): for k in range(2): for d in range(10): ni = i + 1 nj = j + d nk = k if nj > U: break if nk == 0: if d > nd: continue if d < nd: nk = 1 dp[ni][nj][nk] += dp[i][j][k] dp[ni][nj][nk] %= mod res = [(dp[N][i][0] + dp[N][i][1]) % mod for i in range(1, U)] return res M, D = input().split() M = F(M) D = F(D) ans = 0 for m, d in zip(M, D): ans += m * d ans %= mod print(ans)