結果
問題 |
No.612 Move on grid
|
ユーザー |
|
提出日時 | 2017-12-12 23:06:38 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 838 bytes |
コンパイル時間 | 456 ms |
コンパイル使用メモリ | 82,552 KB |
実行使用メモリ | 321,464 KB |
最終ジャッジ日時 | 2024-12-14 06:40:46 |
合計ジャッジ時間 | 64,492 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 TLE * 1 |
other | TLE * 17 |
ソースコード
#!/usr/bin/env python t = int(input().strip()) indat = [int(x) for x in input().split()] points = {(0, 0, 0):1} moves = [(1, 0, 0), (0, 1, 0), (0, 0, 1)] moves = set(moves) for i in range(t): tmp = {} for point, times in points.items(): for move in moves: a = tuple([x + y for (x, y) in zip(point, move)]) if tmp.get(a) == None: tmp[a] = times else: tmp[a] += times a = tuple([x - y for (x, y) in zip(point, move)]) if tmp.get(a) == None: tmp[a] = times else: tmp[a] += times points = tmp p = 0 for point, times in points.items(): eqs = sum([a * x for (a, x) in zip(indat[:3], point)]) if eqs >= indat[3] and eqs <= indat[4]: p += times print(p % (10**9 + 7))