数据结构作业,wsl
说实话跟课本上完全不一样了已经(
详细注释。。我好闲
//迷宫程序:我不太理解书上这个迷宫究竟是怎么输入的。。。
//所以这里用'#'表示围墙,用'.'表示可通路径;用A表示入口,用S表示出口。
//先输入迷宫的规模(m*n),然后进行具体数据读入,并保证周围一定有围墙
//栈迷宫算法(输出任意路径)
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e3+7;
bool vis[maxn][maxn];//标记已经经过
char g[maxn][maxn];//存图
int m,n;
int dx[]={1,0,-1,0};//下一个节点的x变化
int dy[]={0,1,0,-1};//下一个节点的y变化
struct Stack{
int x;
int y;
}S[maxn];
int top=0;
void init(){//初始化,栈顶为0,vis全设为false,清空图
top=0;
memset(vis,false,sizeof(vis));
memset(g,0,sizeof(g));
}
void Push(int x,int y){//入栈
S[top].x=x;
S[top].y=y;
top++;
}
void Pop(){//出栈
top--;
}
void Top(int &x,int &y){//取栈顶元素
if(top==0) return;
x=S[top-1].x;
y=S[top-1].y;
}
bool Empty(){//判断栈是否为空
if(top)