cgy12306
[백준 BoJ] 1149 - RGB의 거리 본문
// https://www.acmicpc.net/problem/1149
// RGB거리
#include<iostream>
#include<algorithm>
using namespace std;
int arr[1002][1002], dp[1002][1002];
int N;
int main() {
cin >> N;
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= 3; j++) {
cin >> arr[i][j];
}
}
dp[1][1] = arr[1][1];
dp[1][2] = arr[1][2];
dp[1][3] = arr[1][3];
for (int i = 2; i <= N; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 1) {
dp[i][j] = min(dp[i - 1][j + 1] + arr[i][j], dp[i - 1][j + 2] + arr[i][j]);
}
else if (j == 2) {
dp[i][j] = min(dp[i - 1][j - 1] + arr[i][j], dp[i - 1][j + 1] + arr[i][j]);
}
else if (j == 3) {
dp[i][j] = min(dp[i - 1][j - 1] + arr[i][j], dp[i - 1][j - 2] + arr[i][j]);
}
}
}
int Min = 999999999;
for (int i = 1; i <= 3; i++) {
Min = min(dp[N][i], Min);
}
cout << Min;
}
- 다이나믹 프로그래밍
'Algorithm > C++' 카테고리의 다른 글
[백준 BoJ] 10825 - 국영수 (0) | 2022.01.13 |
---|---|
[백준 BoJ] 17404 - RGB거리 2 (0) | 2022.01.13 |
[백준 BoJ] 14002 - 가장 긴 증가하는 부분 수열 4 (0) | 2022.01.11 |
[백준 BoJ] 1904 - 01타일 (0) | 2022.01.11 |
[백준 BoJ] 15990 - 1, 2, 3 더하기 5 (0) | 2022.01.10 |
Comments