迷宫是许多小方格构成的矩形,在每个小方格中有的是墙(用1表示),有的是路(用0表示)。走迷宫就是从一个小方格沿上、下、左、右四个方向到邻近的方格,当然不能穿墙。设迷宫的入口是在左上角(1,1),出口是在右下角(8,8)。根据给定的迷宫,找出一条从入口到出口的路径。
解法一(深度优先遍历,打印所有可行的路径):
#include <iostream>
using namespace std;
int maze[8][8] = {
{
0,0,0,0,0,0,0,0},{
0,1,1,1,1,0,1,0},{
0,0,0,0,1,0,1,0},{
0,1,0,0,0,0,1,0},
{
0,1,0,1,1,0,1,0},{
0,1,0,0,0,0,1,1},{
0,1,0,0,1,0,0,0},{
0,1,1,1,1,1,1,0}};
//下、右、上、左
const int fx[4] = {
1,0,-1,0};
const int fy[4] = {
0,1,0