結果
問題 |
No.34 砂漠の行商人
|
ユーザー |
![]() |
提出日時 | 2020-01-08 11:09:43 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 106 ms / 5,000 ms |
コード長 | 858 bytes |
コンパイル時間 | 237 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 11,392 KB |
最終ジャッジ日時 | 2024-11-23 02:30:32 |
合計ジャッジ時間 | 2,598 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
ソースコード
import sys def MI(): return map(int, sys.stdin.readline().split()) def LI(): return list(map(int, sys.stdin.readline().split())) def LLI(rows_number): return [LI() for _ in range(rows_number)] def main(): n,v,sj,si,gj,gi=MI() sj, si, gj, gi=sj-1,si-1,gj-1,gi-1 ll=LLI(n) maxhp=[[0]*n for _ in range(n)] now={} now[si,sj]=v cnt=1 while now: #print(now) nxt={} for (i,j),hp in now.items(): for ni,nj in [[i+1,j],[i-1,j],[i,j+1],[i,j-1]]: if ni<0 or nj<0 or ni>=n or nj>=n:continue nhp=hp-ll[ni][nj] if nhp<=maxhp[ni][nj]:continue if (ni,nj)==(gi,gj): print(cnt) exit() maxhp[ni][nj]=nhp nxt[ni,nj]=nhp now=nxt cnt+=1 print(-1) main()