티스토리 뷰
https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는
www.acmicpc.net
import sys
n = int(sys.stdin.readline())
d = [list(map(int, sys.stdin.readline().split())) for _ in range(n)]
l = 2
for i in range(1, n):
for j in range(l):
if j == 0:
d[i][j] += d[i-1][j]
elif j == len(d[i]) - 1:
d[i][j] += d[i-1][j-1]
else:
d[i][j] += max(d[i-1][j-1], d[i-1][j])
l += 1
print(max(d[n-1]))
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 11724 : 연결 요소의 개수 - Python (0) | 2020.04.23 |
---|---|
[백준] 1912 : 연속합 - Python (0) | 2020.04.23 |
[백준] 3085 : 사탕 게임 - Python (0) | 2020.04.21 |
[백준] 1463 : 1로 만들기 - Python (0) | 2020.04.20 |
[백준] 5585 : 거스름돈 - Python (0) | 2020.04.17 |