하루하나코딩
백준 1149 : RGB거리 c++
HAHAKO
2023. 4. 14. 01:08
코드
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int N;
int home[1001][3];
int dp[1001][3];
cin >> N;
for(int i = 0; i < N; i++){
for(int j = 0; j < 3; j++){
cin >> home[i][j];
}
}
for(int i = 0; i < 3; i++){
dp[0][i] = home[0][i];
}
for(int i = 1; i < N; i++){
dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + home[i][0];
dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + home[i][1];
dp[i][2] = min(dp[i-1][1], dp[i-1][0]) + home[i][2];
}
cout << min(min(dp[N-1][0], dp[N-1][1]), dp[N-1][2]);
return 0;
}
알게된점
쉬운 dp문제당