#include <stdio.h>
#define MAX_ROW 5
#define MAX_COL 5
int maze[MAX_ROW][MAX_COL] = {
{0, 1, 0, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 0, 0, 0},
{0, 1, 1, 1, 0},
{0, 0, 0, 1, 0},
};
int visit(int row, int col)
{
maze[row][col] = 2;
return ((row == MAX_ROW -1 && col == MAX_COL - 1)
|| (col+1 < MAX_COL && maze[row][col+1] == 0 && visit(row, col+1))
|| (row+1 < MAX_ROW && maze[row+1][col] == 0 && visit(row+1, col))
|| (col-1 >= 0 && maze[row][col-1] == 0 && visit(row, col-1))
|| (row-1 >= 0 && maze[row-1][col] == 0 && visit(row-1, col)))
&& printf("%d\t%d\n", row, col);
}
int main(void)
{
visit(0, 0);
return 0;
}
书上的习题:迷宫
最新推荐文章于 2021-02-02 23:51:17 发布