提出 #5830158
ソースコード 拡げる
import sys
sys.setrecursionlimit(10**6)
input = sys.stdin.readline
H,W = map(int,input().split())
INF = 10**18
q = []
visited = [[True]*(W+2)]
visited += [[True] + [x == '#' for x in input().rstrip()] + [True] for _ in range(H)]
visited.append([True]*(W+2))
for i in range(1,H+1):
for j in range(1,W+1):
if visited[i][j]:
q.append((i,j))
moves = [(0,1),(0,-1),(1,0),(-1,0)]
ans = -1
while q:
qq = []
ans += 1
for x,y in q:
if not visited[x-1][y]:
visited[x-1][y] = True
qq.append((x-1,y))
if not visited[x+1][y]:
visited[x+1][y] = True
qq.append((x+1,y))
if not visited[x][y-1]:
visited[x][y-1] = True
qq.append((x,y-1))
if not visited[x][y+1]:
visited[x][y+1] = True
qq.append((x,y+1))
q = qq
print(ans)
提出情報
| 提出日時 | |
|---|---|
| 問題 | A - Darker and Darker |
| ユーザ | maspy |
| 言語 | Python (3.4.3) |
| 得点 | 300 |
| コード長 | 836 Byte |
| 結果 | AC |
| 実行時間 | 980 ms |
| メモリ | 105976 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 300 / 300 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample01.txt, sample02.txt |
| All | sample01.txt, sample02.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, sample01.txt, sample02.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| in01.txt | AC | 973 ms | 71600 KiB |
| in02.txt | AC | 980 ms | 86520 KiB |
| in03.txt | AC | 860 ms | 93936 KiB |
| in04.txt | AC | 909 ms | 105976 KiB |
| in05.txt | AC | 17 ms | 3064 KiB |
| in06.txt | AC | 942 ms | 11116 KiB |
| in07.txt | AC | 968 ms | 11372 KiB |
| in08.txt | AC | 944 ms | 11508 KiB |
| in09.txt | AC | 969 ms | 11636 KiB |
| in10.txt | AC | 447 ms | 7028 KiB |
| in11.txt | AC | 388 ms | 7404 KiB |
| in12.txt | AC | 416 ms | 6860 KiB |
| in13.txt | AC | 409 ms | 7876 KiB |
| sample01.txt | AC | 17 ms | 3064 KiB |
| sample02.txt | AC | 17 ms | 3064 KiB |