用c++写一个迷宫代码
时间: 2023-03-30 17:01:07 浏览: 96
MG.rar_c加加迷宫
5星 · 资源好评率100%
好的,以下是一个简单的迷宫代码,使用 C 语言编写:
#include <stdio.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, 1, 1, 1, 1, 1, 1}
};
int visited[ROW][COL] = {};
int dfs(int x, int y) {
if (x == ROW - 1 && y == COL - 1) {
return 1;
}
visited[x][y] = 1;
if (maze[x - 1][y] == && visited[x - 1][y] == ) {
if (dfs(x - 1, y)) {
return 1;
}
}
if (maze[x + 1][y] == && visited[x + 1][y] == ) {
if (dfs(x + 1, y)) {
return 1;
}
}
if (maze[x][y - 1] == && visited[x][y - 1] == ) {
if (dfs(x, y - 1)) {
return 1;
}
}
if (maze[x][y + 1] == && visited[x][y + 1] == ) {
if (dfs(x, y + 1)) {
return 1;
}
}
return ;
}
int main() {
if (dfs(1, 1)) {
printf("迷宫有解!\n");
} else {
printf("迷宫无解!\n");
}
return ;
}
阅读全文