-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
4,5번 시간초과
20.09.09 16:25 작성 조회수 134
0
import queue
dr = [0,-1,0,1]
dc = [-1,0,1,0]
m,n = map(int,input().split())
arr = [list(map(int,input().split())) for _ in range(n)]
q = queue.Queue()
res = 0
for i in range(n):
for j in range(m):
if arr[i][j] == 1:
q.put((i,j))
while q.qsize()>0:
now = q.get()
for k in range(4):
nr = now[0]+dr[k]
nc = now[1]+dc[k]
if 0<= nr < n and 0<= nc < m and arr[nr][nc] == 0:
arr[nr][nc] = arr[now[0]][now[1]] + 1
q.put((nr,nc))
c = False
for i in range(n):
for j in range(m):
if arr[i][j] == 0:
c = True
break;
else:
res = max(res, arr[i][j])
if c == True:
print(-1)
else:
print(res-1)
4번 5번에서 자꾸 시간초과가 뜨는데 컴퓨터 사양 문제일까요?
직접 cmd에서 구동시켜보면 답은 맞습니다..
답변을 작성해보세요.
0
답변 1