結果
| 問題 | No.612 Move on grid |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-12-12 10:40:00 |
| 言語 | PyPy2 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 434 ms / 2,500 ms |
| コード長 | 842 bytes |
| 記録 | |
| コンパイル時間 | 313 ms |
| コンパイル使用メモリ | 77,224 KB |
| 実行使用メモリ | 260,276 KB |
| 最終ジャッジ日時 | 2025-12-05 13:14:16 |
| 合計ジャッジ時間 | 7,399 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 18 |
ソースコード
#!/usr/bin/python2
# -*- coding: utf-8 -*-
# †
from collections import defaultdict
mod = 10**9 + 7
T = int(raw_input())
a, b, c, d, e = map(int, raw_input().split())
dp = [0] * 50000
dp[0] = 1
for t in xrange(T):
ndp = [0] * 50000
for cur in xrange(50000):
if dp[cur] == 0:
continue
ndp[cur + a + 60] += dp[cur]
ndp[cur + a + 60] %= mod
ndp[cur - a + 60] += dp[cur]
ndp[cur - a + 60] %= mod
ndp[cur + b + 60] += dp[cur]
ndp[cur + b + 60] %= mod
ndp[cur - b + 60] += dp[cur]
ndp[cur - b + 60] %= mod
ndp[cur + c + 60] += dp[cur]
ndp[cur + c + 60] %= mod
ndp[cur - c + 60] += dp[cur]
ndp[cur - c + 60] %= mod
dp = ndp
res = 0
for r in xrange(max(0, d+T*60), e+T*60+1):
res += dp[r]
res %= mod
print res