BOJ 17404 RGB거리 2

1 개요[ | ]

BOJ 17404 RGB거리 2

2 같이 보기[ | ]

3 C++[ | ]

#include <bits/stdc++.h>
using namespace std;

#define INF 1e9
int N;
int house[1000][3];
int dp[1000][3];

void solve() {
    int answer = INF;
    for (int i=0; i<3; i++) {
        for (int j=0; j<3; j++) {
            if (i == j) {
                dp[0][j] = house[0][j];
            } else {
                dp[0][j] = INF;
            }
        }
        for (int j=1; j<N; j++) {
            dp[j][0] = house[j][0] + min(dp[j-1][1], dp[j-1][2]);
            dp[j][1] = house[j][1] + min(dp[j-1][0], dp[j-1][2]);
            dp[j][2] = house[j][2] + min(dp[j-1][0], dp[j-1][1]);
        }
        for (int j=0; j<3; j++) {
            if (i != j) {
                answer = min(answer, dp[N-1][j]);
            }
        }
    }
    cout << answer;
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> N;
    for (int i=0; i<N; i++) {
        for (int j=0; j<3; j++) {
            cin >> house[i][j];
        }
    }
    solve();
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}