結果
問題 | No.34 砂漠の行商人 |
ユーザー |
![]() |
提出日時 | 2015-12-30 00:15:09 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 169 ms / 5,000 ms |
コード長 | 590 bytes |
コンパイル時間 | 53 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 7,424 KB |
最終ジャッジ日時 | 2024-06-28 10:27:30 |
合計ジャッジ時間 | 2,449 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
ソースコード
from Queue import deque N,V,Sx,Sy,Gx,Gy = map(int,raw_input().split()) Sx -= 1; Sy -= 1; Gx -= 1; Gy -= 1 L = [map(int,raw_input().split()) for i in xrange(N)] dxy = ((1,0),(0,1),(-1,0),(0,-1)) Q = deque([(Sx,Sy,V,0)]) visited = [[0]*N for i in xrange(N)] visited[Sy][Sx] = V while Q: hx,hy,v,c = Q.popleft() if (hx,hy) == (Gx,Gy): print c; break if v < visited[hy][hx]: continue for dx,dy in dxy: nx = hx + dx; ny = hy + dy if 0 <= nx < N and 0 <= ny < N and v - L[ny][nx] > visited[ny][nx]: visited[ny][nx] = v - L[ny][nx] Q.append((nx,ny,v - L[ny][nx],c+1)) else: print -1