結果
| 問題 | No.260 世界のなんとか3 |
| コンテスト | |
| ユーザー |
tktk_snsn
|
| 提出日時 | 2021-01-27 02:29:22 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 1,666 bytes |
| 記録 | |
| コンパイル時間 | 294 ms |
| コンパイル使用メモリ | 82,556 KB |
| 実行使用メモリ | 124,652 KB |
| 最終ジャッジ日時 | 2024-06-24 00:05:27 |
| 合計ジャッジ時間 | 28,358 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | MLE * 3 |
| other | MLE * 27 |
ソースコード
mod = 10 ** 9 + 7
A, B = input().split()
N = len(B)
A = A.zfill(N)
print(A, B)
dp = [[[[[[0]*8 for _ in range(2)] for _ in range(3)] for _ in range(2)] for _ in range(2)] for _ in range(N+1)]
dp[0][0][0][0][0][0] = 1
for i in range(N):
na = int(A[i])
nb = int(B[i])
for ja in range(2):
for jb in range(2):
for k in range(3):
for l in range(2):
for m in range(8):
for d in range(10):
ni = i + 1
nja = ja
njb = jb
nk = (k + d) % 3
nl = l
nm = (10 * m + d) % 8
if nja == 0:
if d < na:
continue
if d > na:
nja = 1
if njb == 0:
if d > nb:
continue
if d < nb:
njb = 1
if d == 3:
nl = 1
dp[ni][nja][njb][nk][nl][nm] += dp[i][ja][jb][k][l][m]
dp[ni][nja][njb][nk][nl][nm] %= mod
ans = 0
for ja in range(2):
for jb in range(2):
for k in range(3):
for l in range(2):
if k == 0 or l == 1:
for m in range(1, 8):
ans += dp[N][ja][jb][k][l][m]
ans %= mod
print(ans)
tktk_snsn