-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
Time Limit Exceeded
22.08.05 17:18 작성 조회수 197
0
해당 문제를 풀다 이해는 완벽히 했지만 오류가 나 올려주신 소스코드를 복사해 넣어도 60점만 나오는데 왜이런건가요?
import sys
dx=[-1, 0, 1, 0]
dy=[0, 1, 0, -1]
sys.setrecursionlimit(10**6)
def DFS(x, y, h):
ch[x][y]=1
for i in range(4):
xx=x+dx[i]
yy=y+dy[i]
if 0<=xx<n and 0<=yy<n and ch[xx][yy]==0 and board[xx][yy]>h:
DFS(xx, yy, h)
if __name__=="__main__":
n = int(input())
cnt = 0
res = 0
board=[list(map(int, input().split())) for _ in range(n)]
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 ch[i][j]==0 and board[i][j]>h:
cnt+=1
DFS(i, j, h)
res=max(res, cnt)
if cnt==0:
break
print(res)
답변을 작성해보세요.
1
답변 1