#include #include #include #include using namespace std; const int inf = 1000000000; struct node { int x,y; }; char str[4][10] = {"east","north","south","west"}; char map[9][9]; int to[4][2] = {0,1,-1,0,1,0,0,-1}; int L,n,dis[9][9],step,path[1000]; queue Q; int onedge(int i,int j) { return i==0 || j == 0 || i == n-1 || j == n-1; } int ismap(int i,int j) { return i>=0 && i=0 && jdis[a.x][a.y]+1) { dis[next.x][next.y]=dis[a.x][a.y]+1; Q.push(next); } } } } void init() { int i,j,k; node a; while(!Q.empty()) Q.pop(); for(i = 0; istep) return 0; if(cnt == step) return 1; int i,x,y,tx,ty; char tem[9][9]; for(i = 0; i<4; i++) { memset(tem,0,sizeof(tem)); for(x = 0; x