https://www.acmicpc.net/problem/1149
💡 내 코드(C++)
//RGB거리
//https://www.acmicpc.net/problem/1149
//dp
#include <iostream>
#include <algorithm>
using namespace std;
int main(void)
{
int n, red, green, blue;
int cost[3][1001] = { 0, };
cin >> n;
cin >> cost[0][0] >> cost[1][0] >> cost[2][0];
for (int i = 1; i < n; i++) {
cin >> red >> green >> blue;
cost[0][i] = red + min(cost[1][i - 1], cost[2][i - 1]);
cost[1][i] = green + min(cost[0][i - 1], cost[2][i - 1]);
cost[2][i] = blue + min(cost[0][i - 1], cost[1][i - 1]);
}
cout << min(cost[0][n - 1], min(cost[1][n - 1], cost[2][n - 1])) << endl;
}
반응형
'Baekjoon > DP' 카테고리의 다른 글
[9095] 1, 2, 3 더하기(Top-down & Bottop-up) (0) | 2021.07.09 |
---|---|
[1309] 동물원 (0) | 2020.08.15 |
[2352] 반도체 설계(C++) (0) | 2020.05.30 |
[11722] 가장 긴 감소하는 부분 수열 (0) | 2020.05.30 |
[11055] 가장 큰 증가 부분 수열 (0) | 2020.05.30 |