結果
問題 | No.402 最も海から遠い場所 |
ユーザー |
![]() |
提出日時 | 2023-03-20 01:37:08 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,987 ms / 3,000 ms |
コード長 | 775 bytes |
コンパイル時間 | 271 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 451,968 KB |
最終ジャッジ日時 | 2024-09-18 13:57:01 |
合計ジャッジ時間 | 14,417 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
from collections import dequeH,W=map(int,input().split())MAP=[input() for i in range(H)]ANS=[[1<<30]*(W+2) for i in range(H+2)]Q=deque()for i in range(H+2):ANS[i][0]=0ANS[i][W+1]=0Q.append((i,0))Q.append((i,W+1))for i in range(W+2):ANS[0][i]=0ANS[H+1][i]=0Q.append((0,i))Q.append((H+1,i))for i in range(H):for j in range(W):if MAP[i][j]==".":Q.append((i+1,j+1))ANS[i+1][j+1]=0while Q:x,y=Q.popleft()for z in range(x-1,x+2):for w in range(y-1,y+2):if 0<=z<H+2 and 0<=w<W+2 and ANS[z][w]>ANS[x][y]+1:ANS[z][w]=ANS[x][y]+1Q.append((z,w))MAX=0for ans in ANS:MAX=max(MAX,max(ans))#print(*ans)print(MAX)