• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

Case #01에 대해서 exit_code_1이 뜨는 문제

21.08.11 11:07 작성 조회수 138

0

항상 좋은 수업해주셔서 감사합니다. 

덕분에 실력이 많이 늘었습니다.

다름이 아니고 코드 작성 후에 Judge(Python).exe를 돌려보니 아래와 같이 Case #01에서 exit_code_1이 떴습니다. 하지만 Case #01을 코드 상에 직접 넣어서 확인했을 때는 정답이 나왔습니다. 혹시 어떤 문제가 있는지 알려주시면 감사하겠습니다.

 

n = int(input())
arr = [list(map(int, input().split(' '))) for _ in range(n)]\

dx = [0,0,1,-1]
dy = [1,-1,0,0]
ch = [[0 for _ in range(n)] for _ in range(n)]
res = 0

start_height = 1000000000
end_height = 0

start = [0, 0]
end = [0, 0]

for k in range(n):
    for l in range(n):
        cur_height = arr[k][l]
        if start_height > cur_height:
            start_height = cur_height
            start = [k, l]
        if end_height < cur_height:
            end_height = cur_height
            end = [k, l]

def DFS(x, y):
    global res, ch
    if (x, y) == (end[0], end[1]):
        res += 1
    else:
        for i in range(4):
            after_x = x + dx[i]
            after_y = y + dy[i]
            if 0 <= after_x < n and 0 <= after_y < n:
                if ch[after_x][after_y] == 0 and arr[after_x][after_y] > arr[x][y]:
                    ch[after_x][after_y] = 1
                    DFS(after_x, after_y)
                    ch[after_x][after_y] = 0

ch[start[0]][start[1]] = 1
DFS(start[0], start[1])
print(res)

답변 1

답변을 작성해보세요.

0

안녕하세요^^

입력받는 부분을 아래와 같이 해보세요.

arr = [list(map(int, input().split())) for _ in range(n)]