hdu1240三维bfs最短路轻松1A
来源:互联网 发布:java文件夹的复制 编辑:程序博客网 时间:2024/06/16 13:15
#define DeBUG#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <algorithm>#include <vector>#include <stack>#include <queue>#include <string>#include <set>#include <sstream>#include <map>#include <bitset>using namespace std ;#define zero {0}#define INF 2000000000#define EPS 1e-6typedef long long LL;const double PI = acos(-1.0);inline int sgn(double x){ return fabs(x) < EPS ? 0 : (x < 0 ? -1 : 1);}struct Node{ int x, y, z; int step; Node(int a,int b,int c,int s) { x=a; y=b; z=c; step=s; }};int dir[6][3] = {0, 0, 1, 0, 0, -1, 0, 1, 0, 0, -1, 0, 1, 0, 0, -1, 0, 0};int main(){#ifdef DeBUGs freopen("C:\\Users\\Sky\\Desktop\\1.in", "r", stdin);#endif char start[10]; char end[10]; int n; while (scanf("%s%d", start, &n) + 1) { char mp[20][20][20] = zero; bool vis[20][20][20] = zero; for (int z = 0; z < n; z++) { for (int i = 0; i < n; i++) { scanf("%s", mp[z][i]); } } int sx, sy, sz; int ex, ey, ez; scanf("%d%d%d", &sx, &sy, &sz); scanf("%d%d%d", &ex, &ey, &ez); scanf("%s", end); queue<Node>Q; Node node(sx,sy,sz,0); Q.push(node); bool flag=false; while(!Q.empty()) { node=Q.front(); Q.pop(); if(node.x==ex&&node.y==ey&&node.z==ez) { flag=true; break; } int x,y,z; for(int i=0;i<6;i++) { x=node.x+dir[i][0]; y=node.y+dir[i][1]; z=node.z+dir[i][2]; if(x<0||y<0||z<0||x>=n||y>=n||z>=n||vis[z][y][x]||mp[z][y][x]=='X') continue; Node now(x,y,z,node.step+1); vis[z][y][x]=true; Q.push(now); } } if(flag) printf("%d %d\n",n,node.step); else printf("NO ROUTE\n"); } return 0;}好开森
0 0
- hdu1240三维bfs最短路轻松1A
- hdu1240 三维之Bfs
- hdu1240 poj 2225 三维BFS
- Hdu1240 Asteroids!(三维BFS)
- hdu1240 Asteroids!(三维bfs水)
- POJ2225 Asteroids! (三维的BFS求最短路)
- POJ2251---Dungeon Master---BFS最短路之三维迷宫
- ACM-三维BFS之Asteroids!——hdu1240
- HDU1240 Asteroids!-题目意思详解( 三维BFS)
- hdu1240 (bfs)
- bfs最短路
- hdu1548 最短路/BFS
- BFS最短路路径
- hdu2433 BFS最短路
- HDU 1548 A strange lift (BFS或最短路)
- hdu 1548 A strange lift (bfs、最短路)
- HDU 1548 A strange lift(最短路或BFS)
- HDOJ 2612 Find a way【最短路 双重bfs】
- AOJ - 2224 Save your cat (最大生成树,Kruskal)
- 我的Java学习--对c语言的了解
- 1018. Public Bike Management (30)*
- JSP/Servlet环境配置
- 体会Java并发编程
- hdu1240三维bfs最短路轻松1A
- CSS3之box-shadow
- JConsole的使用手册
- 红旗linux梦断国产OS
- Notification创建
- ubuntu sources.list 源
- [c++的运用]-使用迭代器,vector指针统计分数---ShinePans
- keil 中的一些设置
- 黑马程序员_基本数据类型对象包装类+线程间通信