-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
BFS방식으로 풀었는데 틀렸다는데 확인을 해도 잘 모르겠습니다. 확인 부탁드려요.
21.01.17 15:22 작성 조회수 58
0
다음과 같이 코드 작성하였는데요 답과는 다르게 나옵니다.
어느 부분인지 찾지를 못하겠어서 도움 요청드립니다.
from collections import deque import sys sys.setrecursionlimit(10**6) dx=[-1,0,1,0] dy=[0,1,0,-1] n = int(input()) area = [list(map(int,input().split())) for _ in range(n)] Q = deque() res=0 for h in range(100): ch = [[0]*n for _ in range(n)] cnt = 0 for i in range(n): for j in range(n): if area[i][j]>h and ch[i][j]==0: ch[i][j]=1 cnt+=1 Q.append((i,j)) while Q: tmp = Q.popleft() for i in range(4): xx=tmp[0]+dx[i] yy=tmp[1]+dy[i] if 0<=xx<n and 0<=yy<n and ch[xx][yy]==0 and area[xx][yy]>h: ch[xx][yy]=1 Q.append((xx,yy)) res = max(res,cnt) if cnt == 0: break print(res)
답변을 작성해보세요.
답변 2