結果
問題 | No.20 砂漠のオアシス |
ユーザー |
![]() |
提出日時 | 2015-12-30 03:05:58 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 292 ms / 5,000 ms |
コード長 | 487 bytes |
コンパイル時間 | 572 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 9,600 KB |
最終ジャッジ日時 | 2024-10-13 05:31:53 |
合計ジャッジ時間 | 2,272 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
from heapq import heappop,heappush I=lambda:map(int,raw_input().split()) N,V,x,y=I();o=(x-1,y-1);g=(N-1,N-1);L=[I()for i in range(N)] dxy=((1,0),(0,1),(-1,0),(0,-1));D=[N*[0]for i in range(N)];D[0][0]=-V Q=[];heappush(Q,(-V,(0,0),True)) while Q: v,h,f=heappop(Q) if h == g:print"YES";break for dx,dy in dxy: nx=h[0]+dx;ny=h[1]+dy if 0<=nx<N and 0<=ny<N: n=(nx,ny);nv=v+L[ny][nx] if f and n==o:nv*=2;f=False if nv<D[ny][nx]:D[ny][nx]=nv;heappush(Q,(nv,n,f)) else:print"NO"