#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
using namespace std;
int n,a,b,c,d,m,g,temp;
char ch[10];
char ds[12][12][12];
int dis[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};
struct node
{
int x,y,z,v;
};
int bfs(int q,int w,int e)
{
queue<node>p;
node f;
f.x=q;
f.y=w;
f.z=e;
f.v=0;
ds[q][w][e]='X';
p.push(f);
while(!p.empty())
{
f=p.front();
p.pop();
if(f.x==g&&f.y==m&&f.z==d)
return f.v;
for(int i=0;i<6;i++)
{
node l;
l.x=f.x+dis[i][0];
l.y=f.y+dis[i][1];
l.z=f.z+dis[i][2];
if(l.x>=0&&l.y>=0&&l.z>=0&&l.x<n&&l.y<n&&l.z<n&&ds[l.x][l.y][l.z]!='X')
{
l.v=f.v+1;
ds[l.x][l.y][l.z]='X';
p.push(l);
}
}
}
return -1;
}
int main()
{
while(~scanf("%s%d",ch,&n))
{
getchar();
for(int i=0;i<n;i++)//输入地图时先输入的片(z),再输入的行(x),再输入的列(y)
{
for(int j=0;j<n;j++)
{
scanf("%s",ds[i][j]);
getchar();
}
}
scanf("%d%d%d",&a,&b,&c);//输入坐标时先输入的列(y),再输入的行(x),再输入的片(z)
scanf("%d%d%d",&d,&m,&g);
scanf("%s",ch);
temp=bfs(c,b,a);//所以进行bfs时应该对应好关系,先输入片,再是行,最后是列
if(temp==-1)
printf("NO ROUTE\n");
else
printf("%d %d\n",n,temp);
}
return 0;
}
#include <cstdio>
#include <cstring>
#include <queue>
using namespace std;
int n,a,b,c,d,m,g,temp;
char ch[10];
char ds[12][12][12];
int dis[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};
struct node
{
int x,y,z,v;
};
int bfs(int q,int w,int e)
{
queue<node>p;
node f;
f.x=q;
f.y=w;
f.z=e;
f.v=0;
ds[q][w][e]='X';
p.push(f);
while(!p.empty())
{
f=p.front();
p.pop();
if(f.x==g&&f.y==m&&f.z==d)
return f.v;
for(int i=0;i<6;i++)
{
node l;
l.x=f.x+dis[i][0];
l.y=f.y+dis[i][1];
l.z=f.z+dis[i][2];
if(l.x>=0&&l.y>=0&&l.z>=0&&l.x<n&&l.y<n&&l.z<n&&ds[l.x][l.y][l.z]!='X')
{
l.v=f.v+1;
ds[l.x][l.y][l.z]='X';
p.push(l);
}
}
}
return -1;
}
int main()
{
while(~scanf("%s%d",ch,&n))
{
getchar();
for(int i=0;i<n;i++)//输入地图时先输入的片(z),再输入的行(x),再输入的列(y)
{
for(int j=0;j<n;j++)
{
scanf("%s",ds[i][j]);
getchar();
}
}
scanf("%d%d%d",&a,&b,&c);//输入坐标时先输入的列(y),再输入的行(x),再输入的片(z)
scanf("%d%d%d",&d,&m,&g);
scanf("%s",ch);
temp=bfs(c,b,a);//所以进行bfs时应该对应好关系,先输入片,再是行,最后是列
if(temp==-1)
printf("NO ROUTE\n");
else
printf("%d %d\n",n,temp);
}
return 0;
}