結果
| 問題 |
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")