결국 조사한 지점은 다시 조사하지 않아도 된다는 점. 누적되는 것은 좀 더 긴 값으로 갱신하면 된다는 점. 결국 '최장거리' 경로를 구하는 문제이고 이는 다익스트라의 dists 배열처럼 더 크거나 더 작은 값으로 갱신되는 구조를 띈다. import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) def dfs(x, y): # 이미 다른 조사에서 완료된 지점이면 패스 if dp_dist[x][y]: return dp_dist[x][y] # 조사 안됐으면 1부터 시작. dp_dist[x][y] = 1 for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0