1149 RGB거리
C++
#include <iostream>
#include <vector>
using namespace std;
int DP[1003][3] = {0,};
int RGB[1003][3] = {0,};
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
for (int i = 1; i <= n; i++)
for (int j = 0; j < 3; j++)
cin >> RGB[i][j];
for (int i = 1; i <= n; i++) {
DP[i][0] = RGB[i][0] + min(DP[i - 1][1], DP[i - 1][2]);
DP[i][1] = RGB[i][1] + min(DP[i - 1][0], DP[i - 1][2]);
DP[i][2] = RGB[i][2] + min(DP[i - 1][0], DP[i - 1][1]);
}
cout << min(min(DP[n][0], DP[n][1]), DP[n][2]) << '\n';
return 0;
}
'Algorithm > BOJ (백준)' 카테고리의 다른 글
[C++] 백준 11066 파일 합치기 (0) | 2020.07.25 |
---|---|
[C++] 백준 1699 제곱수의 합 (1) | 2020.07.25 |
[C++] 백준 11049 행렬 곱셈 순서 (0) | 2020.07.25 |
[C++] 백준 11053 가장 긴 증가하는 부분 순열 (0) | 2020.07.25 |
[C++] 백준 9251 LCS (0) | 2020.07.24 |