728x90
반응형
https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.
www.acmicpc.net
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
int N, Cnt = 1, Answer;
int Cache[501][501], Tri[501][501];
int Func(int y, int x)
{
if (y == N - 1) return Tri[y][x];
int& Ref = Cache[y][x];
if (Ref != -1) return Ref;
return Ref = Tri[y][x] + max(Func(y + 1, x), Func(y + 1, x + 1));
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> N;
memset(Cache, -1, sizeof(Tri));
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < Cnt; ++j)
cin >> Tri[i][j];
Cnt++;
}
Answer = Func(0, 0);
cout << Answer << "\n";
}
728x90
반응형
'📕알고리즘 문제 > 📝Baekjoon' 카테고리의 다른 글
[백준] 실버3 : (11478) 서로 다른 부분 문자열의 개수 (0) | 2024.10.22 |
---|---|
[백준] 실버1 : (11659) 구간 합 구하기 5 (0) | 2024.10.03 |
[백준] 실버2 : (2512) 예산 (0) | 2024.04.16 |
[백준] 골드4 : (1504) 특정한 최단 경로 (0) | 2024.04.15 |
[백준] 골드3 : (1238) 파티 (0) | 2024.04.12 |