結果
問題 |
No.20 砂漠のオアシス
|
ユーザー |
![]() |
提出日時 | 2015-08-01 13:28:13 |
言語 | PyPy2 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 779 bytes |
コンパイル時間 | 288 ms |
コンパイル使用メモリ | 76,816 KB |
実行使用メモリ | 81,548 KB |
最終ジャッジ日時 | 2024-10-13 05:22:06 |
合計ジャッジ時間 | 7,300 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 WA * 7 |
ソースコード
N,V,ox,oy=map(int,raw_input().split()) ox-=1;oy-=1 L=[] for _ in xrange(N): L.append(map(int,raw_input().split())) dxdy=zip([-1,0,1,0],[0,-1,0,1]) que=[[0,0]] visited=[] maxV=[[-1]*N for _ in xrange(N)] maxV[0][0]=V count=1#whether to visit oasis while que:#bfs cx,cy=que.pop(0) v=maxV[cy][cx] for dx,dy in dxdy: nx,ny=cx+dx,cy+dy if not(0<=nx<N and 0<=ny<N):continue# in field? nv=v-L[ny][nx] if nv<=0:continue#death if nx==N-1 and ny==N-1 and nv>0: print 'YES' exit() if cx==ox and cy==oy and count>0:#oasis nv=nv*2 count-=1 if nv>0 and maxV[ny][nx]<nv and [nx,ny] not in que: que.append([nx,ny]) maxV[ny][nx]=nv else: print 'NO'