https://www.acmicpc.net/problem/1149
풀이
연속적으로 같은색을 사용하지 않으면 되는 문제입니다.
2차원 배열에서 arr[i][0] 의 i 색이 연속적으로 동일하면 안되는 간단한 문제입니다.
Code
#include <iostream>
using namespace std;
int N;
int rgb[3];
int arr[999][3];
int result;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> rgb[0] >> rgb[1] >> rgb[2];
if (i == 0)
{
arr[i][0] = rgb[0];
arr[i][1] = rgb[1];
arr[i][2] = rgb[2];
}
else
{
arr[i][0] = min(arr[i - 1][1], arr[i - 1][2]) + rgb[0];
arr[i][1] = min(arr[i - 1][0], arr[i - 1][2]) + rgb[1];
arr[i][2] = min(arr[i - 1][0], arr[i - 1][1]) + rgb[2];
}
result = min(min(arr[N - 1][0], arr[N - 1][1]), min(arr[N - 1][1], arr[N - 1][2]));
}
cout << result << "\n";
}
'💻 OnlineJudge > Baekjoon' 카테고리의 다른 글
[백준 / BOJ] C++ 1238 파티 (0) | 2022.11.10 |
---|---|
[백준 / BOJ] C++ 1167 트리의 지름 (0) | 2022.11.03 |
[백준 / BOJ] C++ 1043 거짓말 (1) | 2022.10.28 |
[백준 / BOJ] C++ 6198 옥상 정원 꾸미기 (0) | 2022.10.19 |
[백준 / BOJ] C++ 17610 양팔저울 (0) | 2022.10.19 |