#include<bits/stdc++.h>
using namespace std;
const int di[4]={0,-1,0,1};
const int dj[4]={-1,0,1,0};
int n,a[105][105],p[10005][5];
void dr(int h,int l)
{
char ch;
memset(a,-1,sizeof(a));
for(int i=1;i<=h;i++)
{
for(int j=1;j<=l;j++)
{
cin>>ch;
if(ch=='0') a[i][j]=0;
else a[i][j]=-1;
}
}
}
void dy(int dep)
{
for(int i=1;i<dep;i++)
cout<<"("<<p[i][1]<<","<<p[i][2]<<")->";
cout<<"("<<p[dep][1]<<","<<p[dep][2]<<")"<<endl;
}
void dg(int dep,int i,int j)
{
p[dep][1]=i;
p[dep][2]=j;
if(i==n&&j==n)
{
dy(dep);
exit(0);
}
a[i][j]=dep;
for(int k=0;k<4;k++)
{
int ti=i+di[k];
int tj=j+dj[k];
if(a[ti][tj]==0) dg(dep+1,ti,tj);
}
a[i][j]=0;
}
int main()
{
cin>>n;
dr(n,n);
dg(1,1,1);
return 0;
}
迷宫问题(L7)
最新推荐文章于 2024-11-14 19:11:37 发布