結果
問題 | No.34 砂漠の行商人 |
ユーザー |
|
提出日時 | 2020-04-21 09:25:49 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 227 ms / 5,000 ms |
コード長 | 742 bytes |
コンパイル時間 | 173 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,264 KB |
最終ジャッジ日時 | 2024-10-07 14:07:09 |
合計ジャッジ時間 | 3,067 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
ソースコード
from collections import deque from sys import exit N, V, Sx, Sy, Gx, Gy = map(int, input().split()) Sx, Sy, Gx, Gy = map(lambda x: x - 1, (Sx, Sy, Gx, Gy)) L = [tuple(map(int, input().split())) for _ in range(N)] cost_table = [[V] * N for _ in range(N)] cost_table[Sy][Sx] = 0 d = deque([(Sy, Sx, 0)]) while d: y, x, t = d.popleft() for dy, dx in ((1, 0), (-1, 0), (0, 1), (0, -1)): if 0 <= y + dy < N and 0 <= x + dx < N and cost_table[y + dy][x + dx] > cost_table[y][x] + L[y + dy][x + dx]: d.append((y + dy, x + dx, t + 1)) cost_table[y + dy][x + dx] = cost_table[y][x] + L[y + dy][x + dx] if (x + dx, y + dy) == (Gx, Gy): print(t + 1) exit() print(-1)