알리바바와 40인의 도둑(Top-Down)
생성일: 2022년 2월 24일 오후 3:48
구현 코드
# 알리바바와 40인의 도둑(Top-Down)
import sys
#sys.stdin = open("input.txt", "rt")
def DFS(x, y, sum):
global res
if sum > res:
return
if x >= n or y >= n:
return
if x == n-1 and y == n-1:
sum = sum + board[n-1][n-1]
if sum < res:
res = sum
else:
if ch[x][y] == 0 or sum+board[x][y] < ch[x][y]:
ch[x][y] = sum+board[x][y]
DFS(x+1, y, sum+board[x][y])
DFS(x, y+1, sum+board[x][y])
else:
return
if __name__ == "__main__":
n = int(input())
board = []
ch = [[0 for _ in range(n)] for _ in range(n)]
for _ in range(n):
board.append(list(map(int, input().split())))
res = 2147000000
DFS(0, 0, 0)
print(res)
Author And Source
이 문제에 관하여(알리바바와 40인의 도둑(Top-Down)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lsj8706/알리바바와-40인의-도둑Top-Down저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)