반응형
문제 링크 : https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최�
www.acmicpc.net

> 풀이
dp bottom-up 방식을 사용했습니다.
#include <bits/stdc++.h>
using namespace std;
int dp[501][501];
int a[501][501];
int res = -1;
int main(void) {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++)
scanf("%d", &a[i][j]);
}
dp[0][0] = a[0][0];
for (int i = 1; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0) dp[i][j] = dp[i - 1][j] + a[i][j];
else if (j == i) dp[i][j] = dp[i - 1][j - 1] + a[i][j];
else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - 1]) + a[i][j];
}
}
sort(dp[n - 1], dp[n - 1] + n);
printf("%d", dp[n - 1][n - 1]);
}
(개발 환경 : vs code)
반응형
'알고리즘 (백준) > BOJ 길라잡이 (1)' 카테고리의 다른 글
백준 2206 (벽 부수고 이동하기) / C++ (0) | 2020.08.25 |
---|---|
백준 1149 (RGB거리) / C++ (0) | 2020.08.24 |
백준 2606 (바이러스) / C++ (0) | 2020.07.24 |
백준 2178 (미로 탐색) / C++ (0) | 2020.07.22 |
백준 1697 (숨바꼭질) / C++ (0) | 2020.07.22 |