結果
| 問題 |
No.612 Move on grid
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-11-08 02:40:46 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 2,116 ms / 2,500 ms |
| コード長 | 1,545 bytes |
| コンパイル時間 | 341 ms |
| コンパイル使用メモリ | 82,620 KB |
| 実行使用メモリ | 171,564 KB |
| 最終ジャッジ日時 | 2025-11-08 02:41:07 |
| 合計ジャッジ時間 | 17,383 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 17 |
ソースコード
## https://yukicoder.me/problems/no/612
MOD = 10 ** 9 + 7
def main():
T = int(input())
a, b, c, d, e = map(int, input().split())
dp = {0:1}
for _ in range(T):
new_dp = {}
for key, value in dp.items():
new_key = key + a
if new_key not in new_dp:
new_dp[new_key] = 0
new_dp[new_key] += value
new_dp[new_key] %= MOD
new_key = key - a
if new_key not in new_dp:
new_dp[new_key] = 0
new_dp[new_key] += value
new_dp[new_key] %= MOD
new_key = key + b
if new_key not in new_dp:
new_dp[new_key] = 0
new_dp[new_key] += value
new_dp[new_key] %= MOD
new_key = key - b
if new_key not in new_dp:
new_dp[new_key] = 0
new_dp[new_key] += value
new_dp[new_key] %= MOD
new_key = key + c
if new_key not in new_dp:
new_dp[new_key] = 0
new_dp[new_key] += value
new_dp[new_key] %= MOD
new_key = key - c
if new_key not in new_dp:
new_dp[new_key] = 0
new_dp[new_key] += value
new_dp[new_key] %= MOD
dp = new_dp
answer = 0
for key, valeu in dp.items():
if d <= key <= e:
answer += valeu
answer %= MOD
print(answer)
if __name__ == "__main__":
main()