개발자 톡
연습문제 톡
동계 테스트 시점 예측
동계테스트 런타임오류
- 등록일
- 2022-09-24 12:05:58
- 조회수
- 514
- 작성자
- ted6345
동계테스트 3,4 6,7 10,11 런타임 오류가 나는데 ㅜㅜ
어디서 틀린건지 잘 안보이네요 ㅜㅜ
import sys
# 입력부.
N, M = map(int,sys.stdin.readline().split())
mat = []
for i in range(N):
tmp = list(map(int,sys.stdin.readline().split()))
mat.append(tmp)
AIR = 0
ICE = 1
VISIT = 2
def dfs(x,y):
# 범위를 나가는 경우 return
if x<0 or x>=N or y<0 or y>=M:
return 0
# 공기를 만나면 VISIT으로 바꿈
if (mat[x][y] == AIR):
mat[x][y] = VISIT #visited, 외부공기
return 1 + dfs(x-1,y) + dfs(x,y-1) + dfs(x+1,y) + dfs(x,y+1)
else:
return 0
def melt():
for i in range(N):
for j in range(M):
if(mat[i][j] == ICE):
count = 0
for x,y in [(i-1,j),(i,j-1),(i+1,j),(i,j+1)]:
if(mat[x][y] == VISIT):
count+=1
if(count >= 2):
mat[i][j] = AIR
def clear():
for i in range(N):
for j in range(M):
if(mat[i][j] == VISIT):
mat[i][j] = AIR
time = 0
while dfs(0,0) < (N*M):
melt()
time +=1
clear()
print(time)
#동계_테스트_시점_예측
#python
#동계테스트