ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • RGB거리
    백준알고리즘 2019. 7. 13. 18:50
    #include<cstdio>
    
    using namespace std;
    
    
    int n;
    unsigned long long a[1001][4];
    
    unsigned long long d[1001][4];
    
    unsigned long long min(unsigned long long a, unsigned long long b){
        unsigned long long min = a;
        if(min > b){
            min = b;
    
        }
        return min;
    }
    int main(){
        scanf("%d", &n);
    
        for(int i = 1; i <= n; i++){
            for(int j = 1; j <= 3; j++){
                scanf("%d", &a[i][j]);
            }
        }
    
        d[1][1] = a[1][1]; d[1][2] = a[1][2]; d[1][3] = a[1][3];
    
        for(int i = 2; i <= n; i++){
            d[i][1] =min(d[i-1][2], d[i-1][3]) + a[i][1];
            d[i][2] = min(d[i-1][3], d[i-1][1]) + a[i][2];
            d[i][3] = min(d[i-1][1], d[i-1][2]) + a[i][3];
        }
        unsigned long long max = d[n][1];
        for(int i = 2; i <= 3; i++){
            if(max > d[n][i])
                max = d[n][i];
        }
        printf("%lld\n", max);
    
        return 0;
    
    }

    DP 기본 예제 같은느낌 오래걸리지 않고 노트에써서 풀이 하기전에 머릿속으로 풀수있었음

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

    욕심쟁이 판다  (0) 2019.07.13
    동물원  (0) 2019.07.13
    정수 삼각형  (0) 2019.07.13
    바이러스  (0) 2019.07.13
    빙산  (0) 2019.07.12

    댓글

Designed by Tistory.