Introfor

행렬 경로 찾기 본문

Doing/C&C++

행렬 경로 찾기

YongArtist 2017. 10. 4. 15:15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<stdio.h>
 
int max(int x, int y)
{
    return (x>y)? x:y;
}
 
int matrixPath(int arr[][4], int i, int j, int *cnt) {
    
 if(i==0 && j==0)
    return arr[0][0];
    
 else if(i==0){
    //  printf("(((%d,%d)))\n",i,j);
     return (arr[0][j]+ matrixPath(arr, 0, j-1, cnt));
 }
 
 else if(j==0){
    //  printf("((%d,%d))\n",i,j);
     return (arr[i][0]+ matrixPath(arr, i-10, cnt));
 }
    
 else{
     printf("(%d,%d)\n",i,j);
     return (arr[i][j] + max(matrixPath(arr, i-1, j, cnt), matrixPath(arr, i, j-1, cnt)));
    }
 }
 
int main() {
    
   int cnt = 0;
   int arr[][4= {
            {6,7,12,5},
            {5,3,11,18},
            {7,17,3,3},
            {8,10,14,9}
    };
 
    printf("\n\n\n=====\n");
    printf("%d\n",matrixPath(arr,3,3,&cnt));
    printf("\n\n\n=====\n");
    printf("count = %d\n", cnt);
}
cs


'Doing > C&C++' 카테고리의 다른 글

[C++] Pair, Vector STL  (0) 2020.06.29
요셉의 환형 문제  (0) 2017.10.10
조약돌 놓기  (0) 2017.10.02
Russian Peasant Multiplication  (0) 2017.10.02
피보나치(반복, 재귀)  (0) 2017.09.18
Comments