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로 바꿔주는 함수임
재귀함수가 안좋다고 들었는데 그럼 이거도 안좋은 함수? ㅠㅠ,
트리 탐색 관련 문제같은데
일단 뿌듯
댓글 0