結果
| 問題 |
No.612 Move on grid
|
| ユーザー |
tktk_snsn
|
| 提出日時 | 2020-12-22 00:53:59 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 836 ms / 2,500 ms |
| コード長 | 661 bytes |
| コンパイル時間 | 392 ms |
| コンパイル使用メモリ | 81,920 KB |
| 実行使用メモリ | 86,424 KB |
| 最終ジャッジ日時 | 2024-09-21 13:36:02 |
| 合計ジャッジ時間 | 11,827 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 17 |
ソースコード
mod = 10 ** 9 + 7
T = int(input())
a, b, c, d, e = map(int, input().split())
abc = (abs(a), abs(b), abs(c))
U = 10000
MAX = 2 * U + 1
dp = [0] * MAX
dp[U] = 1
while T:
T -= 1
newDP = [0] * MAX
for i in range(MAX):
for x in abc:
if i + x < MAX:
newDP[i + x] += dp[i]
if newDP[i + x] >= mod:
newDP[i + x] -= mod
if i - x >= 0:
newDP[i - x] += dp[i]
if newDP[i - x] >= mod:
newDP[i - x] -= mod
dp = newDP
ans = 0
for i in range(d, e + 1):
ans += dp[i + U]
if ans >= mod:
ans -= mod
print(ans)
tktk_snsn