結果
問題 |
No.612 Move on grid
|
ユーザー |
![]() |
提出日時 | 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)