인프런 커뮤니티 질문&답변
[등산경로] 테스트 케이스와 답이 맞지 않습니다.
작성
·
172
0
테스트 케이스 1번부터 5번까지 제가 짠 소스로 해보았는데요,
1번부터 4번까지는 ouput 결과가 제대로 나오는데
테스트 케이스 5번만 답이 다르게 나옵니다.
혹시 제 소스에서 어떤 부분이 잘못 된것인지 알 수 있을까요?
선생님 소스와 비교했을 때 다른점은 출발지점과 도착지점을 구하는 방법만 약간 다를 뿐 다른 소스는 같습니다.
import sys
from collections import deque
sys.stdin = open("input.txt", "rt")
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
def DFS(x, y):
global cnt
if x == end[0] and y == end[1]:
cnt += 1
else:
for idx in range(4):
xx = x + dx[idx]
yy = y + dy[idx]
if 0<=xx<n and 0<=yy<n and visited[xx][yy] == 0:
if road[xx][yy] > road[x][y]:
visited[xx][yy] = 1
DFS(xx, yy)
visited[xx][yy] = 0
n = int(input())
road = [list(map(int, input().split())) for _ in range(n)]
visited = [[0]*n for _ in range(n)]
max = -2147000000
min = 2147000000
start = [0]*2 #출발지
end = [0]*2 #도착지
for i in range(n):
for j in range(n):
if road[i][j] > max:
max = road[i][j]
end[0] = i
end[1] = j
if road[i][j] < min:
min = road[i][j]
start[0] = i
start[1] = i
cnt = 0
visited[start[0]][start[1]] = 1 #출발지 방문 체크
DFS(start[0], start[1])
print(cnt)





