結果

問題 No.157 2つの空洞
ユーザー frnfntsfrnfnts
提出日時 2016-08-25 16:41:49
言語 Python2
(2.7.18)
結果
RE  
実行時間 -
コード長 1,079 bytes
コンパイル時間 261 ms
コンパイル使用メモリ 7,040 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-08 02:22:35
合計ジャッジ時間 1,028 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 12 ms
6,272 KB
testcase_01 AC 11 ms
6,272 KB
testcase_02 AC 11 ms
6,272 KB
testcase_03 RE -
testcase_04 AC 11 ms
6,272 KB
testcase_05 AC 12 ms
6,272 KB
testcase_06 RE -
testcase_07 RE -
testcase_08 AC 11 ms
6,272 KB
testcase_09 AC 11 ms
6,272 KB
testcase_10 RE -
testcase_11 RE -
testcase_12 RE -
testcase_13 RE -
testcase_14 RE -
testcase_15 RE -
testcase_16 AC 19 ms
6,272 KB
testcase_17 AC 25 ms
6,144 KB
testcase_18 AC 15 ms
6,272 KB
testcase_19 AC 18 ms
6,144 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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