void search(int i, int j, int a, int b, int stack, int n)

{

stack++;

if (stack >= n){

yes = 1;

return;

}

if (i != 0){//오른쪽

if (h[i][j] < h[i - 1][j]){

search(i - 1, j, a, b, stack, n);

}

}

if (i != a - 1){//왼쪽

if (h[i][j] < h[i + 1][j]){

search(i + 1, j, a, b, stack, n);

}

}

if (j != 0){//아래

if (h[i][j] < h[i][j - 1]){

search(i, j - 1, a, b, stack, n);

}

}

if (j != b - 1){//위

if (h[i][j] < h[i][j + 1]){

search(i, j + 1, a, b, stack, n);

}

}

stack--;

return;

}



문제 풀다가 만든


2차원 배열 (0,0)에서 출발, 더 큰수를 향해 여행을 떠나다가 n이상만큼 여행을 떠나면 0이였던 yes를 1로 바꿔주는 함수임



재귀함수가 안좋다고 들었는데 그럼 이거도 안좋은 함수? ㅠㅠ,


트리 탐색 관련 문제같은데


일단 뿌듯