結果

問題 No.157 2つの空洞
コンテスト
ユーザー frnfnts
提出日時 2016-08-25 16:41:49
言語 PyPy2
(7.3.15)
結果
RE  
実行時間 -
コード長 1,079 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 168 ms
コンパイル使用メモリ 76,940 KB
最終ジャッジ日時 2025-12-03 21:17:17
ジャッジサーバーID
(参考情報)
judge3 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 RE * 2
other AC * 9 RE * 7
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

w, h= map(int, raw_input().split())
c = []
hole = []
d = [(-1,0),(1,0),(0,-1),(0,1)]
for i in xrange(h):
    c.append(raw_input())
# for i in xrange(h):
#     print c[i]
    
for i in xrange(h):
    x = c[i].find('.')
    if x != -1:
        hole.append((i,x))
        break

i = 0
while i < len(hole):
    for dd in d:
        x = dd[0] + hole[i][0]
        y = dd[1] + hole[i][1]
        if x < 0 or x >= w:
            break
        if y < 0 or x >= h:
            break
        if c[x][y] == '.':
            if (x,y) not in hole:
                hole.append((x,y))
    i += 1
# print hole
hole1 = hole
e = 0
i = 0
l = len(hole)
while True:
    if i == l:
        e += 1
        l = len(hole)
    for dd in d:
        x = dd[0] + hole[i][0]
        y = dd[1] + hole[i][1]
        if x < 0 or x >= w:
            break
        if y < 0 or y >= h:
            break
        if c[x][y] == '#':
            if (x,y) not in hole:
                hole.append((x,y))
        elif (x,y) not in hole1:
            print e
            exit()
    i += 1
print e            
            
0