アリババと40人の泥棒
7389 ワード
作成日: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)
Reference
この問題について(アリババと40人の泥棒), 我々は、より多くの情報をここで見つけました https://velog.io/@lsj8706/알리바바와-40인의-도둑Top-Downテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol