c언어/백준 1149
이 문제는 보기 쉽게 조건을 적어줬기 때문에 간단하게 풀었다. *빨간색* N번 집으로 끝나는 최솟값은 오른쪽 표중 작은 것 *초록색* N-1번 집의 최솟값 + *빨간색* N번 집 *파란색* N-1번 집의 최솟값 + *빨간색* N번 집 dp[N][0] = MIN(dp[N - 1][1] + arr[N][0], dp[N - 1][2] + arr[N][0]); // 0은 빨강 // 1은 초록 // 2는 파랑 빨간색으로 끝나는 N번집의 최솟값을 구했다면, 파랑색으로 끝나는 집과 초록색으로 끝나는 집의 최솟값을 구한뒤에 서로 비교하면 된다. #define _CRT_SECURE_NO_WARNINGS #include #include int MIN(int a, int b) { return (a < b) ? a : b; ..
2022.02.04