結果
問題 | No.34 砂漠の行商人 |
ユーザー |
|
提出日時 | 2019-01-08 09:59:10 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 189 ms / 5,000 ms |
コード長 | 497 bytes |
コンパイル時間 | 631 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,656 KB |
最終ジャッジ日時 | 2024-11-24 00:35:11 |
合計ジャッジ時間 | 2,828 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
ソースコード
#yuki34 n,v,sx,sy,gx,gy=map(int,raw_input().split()) sx,sy,gx,gy=sx-1,sy-1,gx-1,gy-1 l=[] for i in xrange(n): l.append(map(int,raw_input().split())) p=[[0]*n for i in xrange(n)] dxy=((1,0),(0,1),(-1,0),(0,-1)) q=[[sx,sy,v,0]] while q: x,y,v,d=q.pop(0) if (x,y)==(gx,gy): print d break if p[y][x]>v: continue p[y][x]=v for dx,dy in dxy: nx,ny=x+dx,y+dy if 0<=nx<n and 0<=ny<n and v-l[ny][nx]>p[ny][nx]: p[ny][nx]=v-l[ny][nx] q.append([nx,ny,v-l[ny][nx],d+1]) else: print -1