티스토리 뷰
RGB거리
[백준] 계단오르기 1149번
#include <stdio.h> int min(int first, int second) { if (first < second) return first; return second; } int main() { int d[1000][3] = { 0, }; int n; int i; int price[3]; scanf("%d", &n); scanf("%d %d %d", &d[0][0], &d[0][1], &d[0][2]); for (i = 1; i < n; i++) { scanf("%d %d %d", &price[0], &price[1], &price[2]); d[i][0] = min(d[i - 1][1], d[i - 1][2]) + price[0]; d[i][1] = min(d[i - 1][0], d[i - 1][2]) + price[1]; d[i][2] = min(d[i - 1][0], d[i - 1][1]) + price[2]; } printf("%d\n", min(min(d[n - 1][0], d[n - 1][1]), d[n - 1][2])); return 0; } |
'프로그래밍 > 알고리즘' 카테고리의 다른 글
붕어빵 판매하기 (0) | 2017.03.20 |
---|---|
알고리즘 개인 공부 (0) | 2017.03.19 |
2017-03-18 알고리즘 문제 풀기 (0) | 2017.03.19 |
2017-03-16 알고리즘 문제 풀기 (0) | 2017.03.18 |
2017-03-15 알고리즘 문제 풀기 (0) | 2017.03.17 |