https://www.acmicpc.net/problem/1932
풀이
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
이 경우에서는
7
10 15
18 16 15
20 25 20 19
24 30 27 26 24
이런식으로 각 줄마다 합이 최대가 되는 경로의 수를 만들면 됩니다.
n = int(input())
nums = []
for i in range(n):
a = list(map(int, input().split()))
a.extend([0] * (500- len(a)))
nums.append(a)
for i in range(1, n):
for j in range(i+1):
nums[i][j] = max(nums[i-1][j-1], nums[i-1][j]) + nums[i][j]
print(max(nums[n-1]))
'백준 알고리즘' 카테고리의 다른 글
파이썬) 백준 알고리즘 | 11442번 : 홀수번째 피보나치 수의 합 (0) | 2022.07.22 |
---|---|
파이썬) 백준 알고리즘 | 1629번 : 곱셈 (0) | 2022.07.10 |
파이썬) 백준 알고리즘 | 2156번 : 포도주 시식 (0) | 2022.07.05 |
파이썬) 백준 알고리즘 | 13975번 : 파일 합치기 3 (0) | 2022.07.01 |
파이썬) 백준 알고리즘 | 15903번 : 카드 합체 놀이 (0) | 2022.07.01 |
댓글