안선생의 개발 블로그

C++ 1149 RGB거리 본문

백준

C++ 1149 RGB거리

안선생 2023. 3. 23. 11:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include<iostream>
#include <string>
#include <vector>
#include<algorithm>
using namespace std;
int main()
{
    int n; cin >> n;
    vector<vector<int>> home(n + 2);
    vector<vector<int>> dp(n+2vector<int>(n+20));
    for (int i = 1; i <= n; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            int a; cin >> a;
            home[i].push_back(a);
        }
    }
    dp[1][0= home[1][0];
    dp[1][1= home[1][1];
    dp[1][2= home[1][2];
    for (int i = 2; i <= n; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            if (j == 0)
            {
                int m = min(dp[i - 1][1], dp[i - 1][2]);
                dp[i][j] = home[i][j] + m;
        }
            else if (j == 1)
            {
                int m = min(dp[i - 1][0], dp[i - 1][2]);
                dp[i][j] = home[i][j] + m;
            }
            if (j == 2)
            {
                int m = min(dp[i - 1][0], dp[i - 1][1]);
                dp[i][j] = home[i][j] + m;
            }
        }
    }
    cout << min({ dp[n][0], dp[n][1], dp[n][2] });
 
    return 0;
}
 
cs

https://www.acmicpc.net/problem/1149

 

1149번: RGB거리

첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나

www.acmicpc.net

 

'백준' 카테고리의 다른 글

C++ 14501 퇴사  (0) 2023.04.02
C++ 1932 정수 삼각형  (0) 2023.03.25
C++ 11726 2xn 타일링  (0) 2023.03.22
C++ 9625 BABBA  (0) 2023.03.21
C++ 1032 명령 프롬프트  (0) 2023.03.09