반응형
https://www.acmicpc.net/problem/2096
i번 행의 0번은, i-1번행의 [0, 1]번에서 내려올 수 있습니다.
i번 행의 1번은, i-1번행의 [0, 1, 2]번에서 내려올 수 있습니다.
i번 행의 2번은, i-1번행의 [1, 2]번에서 내려올 수 있습니다.
이전 행에서의 최소 점수와 최대 비용을 이용해서 각 행에서의 최소 점수와 최대 점수를 구해주었습니다.
#include <iostream>
#include <algorithm>
using namespace std;
int a[2][3] = { 0 }, b[2][3] = { 0 }, n;
int main() {
scanf("%d", &n);
while (n--) {
for (int i = 0; i < 3 && scanf("%d", &a[0][i]); i++)
a[1][i] = a[0][i];
a[0][0] += max({ b[0][0], b[0][1] });
a[0][1] += max({ b[0][0], b[0][1], b[0][2] });
a[0][2] += max({ b[0][1], b[0][2] });
a[1][0] += min({ b[1][0], b[1][1] });
a[1][1] += min({ b[1][0], b[1][1], b[1][2] });
a[1][2] += min({ b[1][1], b[1][2] });
for (int i = 0; i < 3; i++) {
b[0][i] = a[0][i];
b[1][i] = a[1][i];
}
}
printf("%d %d", max({ b[0][0], b[0][1], b[0][2] }), min({ b[1][0], b[1][1], b[1][2] }));
}
반응형
'Algorithm' 카테고리의 다른 글
백준 4811 : 알약 (0) | 2021.11.16 |
---|---|
백준 2470 : 두 용액 (0) | 2021.11.16 |
백준 4803 : 트리 (0) | 2021.11.16 |
백준 2887 : 행성 터널 (0) | 2021.11.16 |
백준 4386 : 별자리 만들기 (0) | 2021.11.16 |