用C语言写一个走迷宫的代码
时间: 2023-03-28 19:01:07 浏览: 136
我可以回答这个问题。以下是一个简单的用C语言写的走迷宫的代码:
#include <stdio.h>
#include <stdlib.h>
#define ROW 10
#define COL 10
int maze[ROW][COL] = {
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, , , 1, , , , 1, , 1},
{1, , , 1, , , , 1, , 1},
{1, , , , , 1, 1, , , 1},
{1, , 1, 1, 1, , , , , 1},
{1, , , , 1, , , , , 1},
{1, , 1, , , , 1, , , 1},
{1, , 1, 1, 1, , 1, 1, , 1},
{1, 1, , , , , , , , 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
int visited[ROW][COL];
int is_valid(int x, int y) {
if (x < || x >= ROW || y < || y >= COL) {
return ;
}
if (maze[x][y] == 1 || visited[x][y] == 1) {
return ;
}
return 1;
}
int dfs(int x, int y) {
if (x == ROW - 1 && y == COL - 1) {
return 1;
}
visited[x][y] = 1;
if (is_valid(x - 1, y) && dfs(x - 1, y)) {
return 1;
}
if (is_valid(x + 1, y) && dfs(x + 1, y)) {
return 1;
}
if (is_valid(x, y - 1) && dfs(x, y - 1)) {
return 1;
}
if (is_valid(x, y + 1) && dfs(x, y + 1)) {
return 1;
}
visited[x][y] = ;
return ;
}
int main() {
if (dfs(, )) {
printf("找到了出口!\n");
} else {
printf("没有找到出口!\n");
}
return ;
}
阅读全文