-
[1932] 정수 삼각형BOJ 2021. 8. 24. 06:03
https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.
www.acmicpc.net
2차원 dp 문제이다.
dp[i][j]=i행에서 j번째 수를 선택할때의 최대값으로 채워주었고, O(n^2)만에 해결할 수 있다.
123456789101112131415161718192021222324#include<stdio.h>#include<algorithm>using namespace std;int a[501][501], dp[501][501];int main(void) {int n, i, j;scanf("%d", &n);for (i = 1; i <= n; i++)for (j = 1; j <= i; j++)scanf("%d", &a[i][j]);for (i = 1; i <= n; i++) {for (j = 1; j <= i; j++) {dp[i][j] = a[i][j] + max(dp[i - 1][j - 1], dp[i - 1][j]);}}int max = 0;for (i = 1; i <= n; i++)for (j = 1; j <= i; j++)if (max < dp[i][j])max = dp[i][j];printf("%d", max);return 0;}cs 'BOJ' 카테고리의 다른 글
[10451] 순열 사이클 (0) 2021.08.30 [1303] 전쟁 - 전투 (0) 2021.08.30 [5557] 1학년 (0) 2021.08.30 [2212] 센서 (0) 2021.08.30 [2470] 두 용액 (0) 2021.08.27