結果
問題 | No.612 Move on grid |
ユーザー |
|
提出日時 | 2017-12-12 02:29:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 192 ms / 2,500 ms |
コード長 | 616 bytes |
コンパイル時間 | 209 ms |
コンパイル使用メモリ | 82,244 KB |
実行使用メモリ | 140,860 KB |
最終ジャッジ日時 | 2024-12-18 00:47:36 |
合計ジャッジ時間 | 3,295 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
t = int(input()) a,b,c,d,e = map(int, input().split()) # print(t,a,b,c,d,e) d += 10010 e += 10010 MD = 1000000007 dp = [0]*20020 dp[10010] = 1 left = 10010 right = 10011 abc = max(abs(a),abs(b),abs(c)) for lop in range(t): dp2 = [0]*20020 for x in range(left, right): y = dp[x] = dp[x]%MD if y > 0: dp2[x + a] += y dp2[x - a] += y dp2[x + b] += y dp2[x - b] += y dp2[x + c] += y dp2[x - c] += y dp = dp2 left -= abc right += abc ans = 0 for x in range(d, e+1): ans = (ans+dp[x])%MD print(ans%MD)