普通的三维广搜,须要注意的是输入列,行,层

#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
#define M 11
using namespace std; int dir[6][3]={{0,1,0},{0,-1,0},{1,0,0},{-1,0,0},{0,0,1},{0,0,-1}};//6个方向
int vis[M][M][M];
char map[M][M][M];
int n,m,p,sx,sy,sz,ex,ey,ez; bool ck(int x,int y,int z)
{
if(x>=0&&x<n&&y>=0&&y<n&&z>=0&&z<n&&!vis[z][x][y]&&map[z][x][y]=='O')
return true;
return false;
}
struct node
{
int x,y,z,st;
}; void bfs( )
{
if(sx==ex&&sy==ey&&sz==ez){
cout<<n<<" "<<0<<endl;
return ;
}
memset(vis,0,sizeof vis);
queue<node> q;
node a,b;
a.z=sz,a.x=sx,a.y=sy,a.st=0;
vis[sz][sx][sy]=1;
q.push(a);
while(!q.empty()){
a=q.front(),q.pop();
for(int i=0;i<6;++i){
b.x=a.x+dir[i][0];
b.y=a.y+dir[i][1];
b.z=a.z+dir[i][2];
b.st=a.st+1;
if(!ck(b.x,b.y,b.z)) continue; if(b.x==ex&&b.y==ey&&b.z==ez){
cout<<n<<" "<<b.st<<endl;
return;
}
vis[b.z][b.x][b.y]=1;
q.push(b); }
}
printf("NO ROUTE\n");
return ; }
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
while(scanf("START %d",&n)!=EOF){
for(int i=0;i<n;++i){
for(int j=0;j<n;++j){
scanf("%s",map[i][j]);
}
} scanf("%d%d%d %d%d%d",&sy,&sx,&sz,&ey,&ex,&ez);
char str[10];
cin>>str;
getchar(); bfs( );
}
return 0;
}<span style="color:#3333ff;">
</span>





最新文章

  1. highcharts总结
  2. Python中的生成器与yield
  3. JSON 字符串中的中括号和大括号区别详解
  4. struts2 国际化
  5. MicroERP软件更新记录2.1
  6. FLAG_ACTIVITY_CLEAR_TOP
  7. AIX下禁止crs随ha启动而启动
  8. hdoj 3342 Legal or Not【拓扑排序】
  9. using 关键字给类和名称空间指定别名
  10. Android 带password输入界面的Dialog实现机制
  11. HDU 4381 Grid
  12. 将 Eclipse 的配色改为黑底白字
  13. javaScript额外笔记
  14. Yum database disk image is malformed
  15. 项目Alpha冲刺Day1
  16. 使用docker安装sentry
  17. [POI2005] SKA-Piggy Banks
  18. mysql常用快速查询修改操作
  19. sql 语句的先后执行顺序
  20. Implementing a CNN for Text Classification in TensorFlow

热门文章

  1. 谁能告诉我war包的作用及使用方法。。。。。。
  2. handler.postDelayed()和timerTask
  3. (SQL SERVER) (ORACLE) (ACCESS)(POSTGRE SQL)四种数据库操作C#代码
  4. fg、bg、jobs、&amp;、nohup、ctrl + z命令
  5. 基于visual Studio2013解决C语言竞赛题之0613递归求积
  6. 通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)-大壮他哥
  7. [hadoop系列]Pig的安装和简单演示样例
  8. oncreate 测量尺寸
  9. EasyUI - 后台管理系统 - 增加,删除,修改
  10. 基于visual Studio2013解决C语言竞赛题之1091多项式