작성
·
303
0
선생님 안녕하세요. 강의 잘 보고있습니다.
저도 이번 문제를 앞서 질문하신 huniDev님처럼 벽을 세워 풀어봤습니다.
그런데 실행시키면 그냥 종료가 됩니다. 제가 수차례 봤지만 뭐가 문제인지도 모르겠습니다... 혹시 뭐가 문제일까요?
int map[9][9] = { 1 };
int ch[9][9] = { 0 };
int cnt = 0;
int dx[4] = { 1,0,-1,0 };
int dy[4] = { 0,1,0,-1 };
void D(int x, int y) {
int xx, yy;
if (x==7 && y==7) {
cnt++;
}
else {
for (int i = 0; i < 4; i++) {
xx = x + dx[i];
yy= y + dy[i];
if (map[xx][yy] == 0 && ch[xx][yy] == 0) {
ch[xx][yy] = 1;
D(xx, yy);
ch[xx][yy] = 0;
}
}
}
}
int main() {
for (int i = 1; i <= 7; i++) {
for (int j = 1; j <= 7; j++) {
scanf("%d", &map[i][j]);
}
}
ch[1][1] = 1;
D(1, 1);
printf("%d", cnt);
}