728x90
https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.
www.acmicpc.net
1. n-1 층에서부터 두 방향 중 가장 큰 수를 가진 방향을 선택하여 더합니다.
1) 입력
7 | ||
3 | 8 | |
8 | 2 | 0 |
2) n-1층부터 아래층의 큰 수를 선택하여 더함
7 | ||
11 | 10 | |
8 | 2 | 0 |
3) 배열 (1,1) 위치엔 최댓값이 들어가 있습니다.
18 | ||
11 | 10 | |
8 | 2 | 0 |
#pragma warning(disable:4996)
#include <stdio.h>
#include <algorithm>
using namespace std;
int arr[501][501];
int n;
int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; i++)
for (int j = 1; j <= i; j++)
scanf("%d", &arr[i][j]);
for (int i = n - 1; i >= 1; i--)
for (int j = 1; j <= i; j++)
arr[i][j] += max(arr[i + 1][j], arr[i + 1][j + 1]);
printf("%d", arr[1][1]);
}
728x90
'알고리즘' 카테고리의 다른 글
정올 C++ - 해밀턴 순환회로(1681) DFS, 백트래킹 (0) | 2023.05.02 |
---|---|
백준 C++ - 상자넣기 (1965번) DP (0) | 2023.04.29 |
백준 C++ - 센서(2212) 탐욕법 (0) | 2023.04.18 |
백준 C++ - 도서관(1461) 그리디 알고리즘 (0) | 2023.04.11 |
C++ - 아이템 줍기 (BFS) (0) | 2023.04.09 |