Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #define MAX_ARR_LEN 1000
- int arr[MAX_ARR_LEN][3] = { 0 };
- int result[MAX_ARR_LEN][3] = { 0 };
- int min(int a, int b) {
- if (a < b)
- return a;
- else
- return b;
- }
- int main(void) {
- int N;
- scanf("%d", &N);
- for (int i = 0; i < N; i++) {
- for (int j = 0; j < 3; j++) {
- scanf("%d", &arr[i][j]);
- }
- }
- // 0: 빨강, 1: 초록, 2: 파랑
- result[0][0] = arr[0][0];
- result[0][1] = arr[0][1];
- result[0][2] = arr[0][2];
- for (int i = 1; i < N; i++) {
- result[i][0] = min(result[i - 1][1], result[i - 1][2]) + arr[i][0];
- result[i][1] = min(result[i - 1][0], result[i - 1][2]) + arr[i][1];
- result[i][2] = min(result[i - 1][0], result[i - 1][1]) + arr[i][2];
- }
- int minVal = 1000000;
- for (int i = 0; i < 3; i++)
- minVal = min(minVal, result[N - 1][i]);
- printf("%d", minVal);
Add Comment
Please, Sign In to add comment