結果
問題 |
No.2913 二次元距離空間
|
ユーザー |
👑 |
提出日時 | 2024-06-15 16:25:50 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 493 bytes |
コンパイル時間 | 275 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 161,920 KB |
最終ジャッジ日時 | 2024-06-15 16:27:30 |
合計ジャッジ時間 | 21,245 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 24 TLE * 4 |
ソースコード
R,I,O=range,input,print H,W=map(int,I().split()) S=[I()for i in R(H)] V=H*W E=[] for v in R(V): i,j,e=v//W,v%W,[] if i and S[i-1][j]>'#':e+=[[v-W,1]] if i+1<H and S[i+1][j]>'#':e+=[[v+W,1]] if j and S[i][j-1]>'#':e+=[[v-1,V]] if j+1<W and S[i][j+1]>'#':e+=[[v+1,V]] E+=[e] import heapq A=[V*V]*V A[0]=0 Q=[[0,0]] while len(Q): w,i=heapq.heappop(Q) if w>A[i]:continue for[j,v]in E[i]: if w+v<A[j]:A[j]=w+v;heapq.heappush(Q,[w+v,j]) w=A[V-1] if w<V*V:O("Yes");O(w//V,w%V) else:O("No")