HDU 3533 BFS
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <queue>
#include <string.h>
#include <math.h>
using namespace std;
int n,m,k,d;
int map[110][110];
struct castle
{int x,y,v,t;int fx;
}pao[110];bool vis[110][110][1100];
struct node
{int x,y,step;
};
int dir[5][2]={ 1,0, -1,0, 0,1, 0,-1, 0, 0};
void bfs()
{memset(vis,0,sizeof(vis));struct node u,v;u.x=0; u.y=0; u.step=0;vis[0][0][0]=1;queue<node> que ;que.push(u);while(!que.empty()){u=que.front() ; que.pop();if(u.x==n&&u.y==m){if(u.step<=d) printf("%d\n",u.step);else printf("Bad luck!\n");return;}for(int i=0;i<5;++i){int xx=u.x+dir[i][0],yy=u.y+dir[i][1];if(xx<0||yy<0||xx>n||yy>m) continue;if(vis[xx][yy][u.step+1]==1||map[xx][yy]!=-1) continue ;bool flag=1;for(int j=xx+1;j<=n;++j){if(map[j][yy]!=-1){int id = map[j][yy];int much = j-xx;int time= u.step+1-(much/pao[id].v);if(pao[id].fx!=1||much%pao[id].v) break;if(time<0) break;if(time%pao[id].t==0) { flag =0; break;}}}if(flag==0) continue;for(int j=xx-1;j>=0;--j){if(map[j][yy]!=-1){int id = map[j][yy];int much = xx-j;int time= u.step+1-(much/pao[id].v);if(pao[id].fx!=3||much%pao[id].v) break;if(time<0) break;if(time%pao[id].t==0) { flag =0; break;}}}if(flag==0) continue;for(int j=yy+1;j<=m;++j){if(map[xx][j]!=-1){int id = map[xx][j];int much = j-yy;int time= u.step+1-(much/pao[id].v);if(pao[id].fx!=4||much%pao[id].v) break;if(time<0) break;if(time%pao[id].t==0) { flag =0; break;}}}if(flag==0) continue;for(int j=yy-1;j>=0;--j){if(map[xx][j]!=-1){int id = map[xx][j];int much = yy-j;int time= u.step+1-(much/pao[id].v);if(pao[id].fx!=2||much%pao[id].v) break;if(time<0) break;if(time%pao[id].t==0) { flag =0; break;}}}if(flag==0) continue;v.x=xx; v.y=yy; v.step=u.step+1; vis[xx][yy][u.step+1]=1;que.push(v);}}printf("Bad luck!\n");return ;
}
int main()
{while(scanf("%d%d%d%d",&n,&m,&k,&d)!=EOF){char s[5];int t,v,x,y,temp;memset(map,-1,sizeof(map));for(int i=1;i<=k;++i){scanf("%s",s);scanf("%d%d%d%d",&t,&v,&x,&y);if(s[0]=='N') temp = 1;else if(s[0]=='E') temp = 2;else if(s[0]=='S') temp = 3;else temp = 4;pao[i].fx=temp; pao[i].x=x; pao[i].y=y; pao[i].t=t; pao[i].v=v;map[x][y]=i;}bfs();}return 0;
}
HDU 3533 BFS相关推荐
- [kuangbin]专题二 搜索进阶 Escape HDU - 3533【BFS】
[题目描述] The students of the HEU are maneuvering for their military training. The red army and the blu ...
- hdu 5433(bfs+dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5433 解题思路: dp[i][j][k]表示在(x,y)点,毅力为k时的最小体力.由于每个点可能会走多 ...
- hdu 2579 BFS
http://acm.hdu.edu.cn/showproblem.php?pid=2579 题目大意:给定 r * c 的迷宫,还有一个整数 k .迷宫中"."表示可以走,&qu ...
- D - Age of Moyu HDU - 6386 -BFS+DFS分层最短路
D - Age of Moyu HDU - 6386 题意:双向图,m条边,每条边有一个编号id,而花费就是根据这个id的变化来确定的求1-n的最短路 思路:全值为0,1的图直接bfs按层遍历图找到n ...
- hdu 5167 bfs
因为斐波那契数列增长很快(指数级),所以10Y以内只有不到50个斐波那契数,将这些数字所有可能的乘积存起来查询即可,这里采用bfs+set的方式. 1 #include <iostream> ...
- hdu 1026 bfs+记录路径
题意:从0,0点出发到n-1,m-1点,路上的数字代表要在这个点额外待多少秒,求最短的路 递归输出路径即可 1 #include<cstdio> 2 #include<iostrea ...
- hdu 4568 bfs + 状压dp
//这题的数据是不是有问题... 不考虑宝藏一个也拿不到也能AC... 1 #include "bits/stdc++.h" 2 using namespace std; 3 co ...
- hdu 1044 BFS(压缩图)+DFS
题意: 给你起点,终点,图上有墙有路还有宝物,问你在规定时间内能否能到终点,如果能问最多能捡到多少宝物. 思路: 看完这个题目果断 BFS+三维的mark ...
- hdu 1226(bfs+同余剪枝)
超级密码 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- hdu 5179(bfs打表+二分)
beautiful number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
最新文章
- 服务发现系统之consul入门
- pppoe设计的一般性
- Android布局管理器-从实例入手学习相对布局管理器的使用
- 数据结构与算法 -- 栈 ADT
- boost::contract模块实现overload的测试程序
- SCCM2012 R2集成WSUS服务器-4:部署软件更新组
- VB6实现的自动停靠窗体
- linux 禁ping
- win10系统WiFi突然消失打不开,终极解决方法
- Android事件分发理解
- influxdb的retention policy
- 三峡大学校赛----十万桃花图(线性基)
- elementui select选中获取整个item对象以及回显
- 打上花火(打ち上げ花火) --罗马音歌词中文谐音歌词
- html中如何设置动画鼠标,使用animate动画库添加鼠标经过动画
- OSRM开源地图导航引擎介绍一
- 100 篇最受欢迎的 Chat 汇总
- LiteOS 消息队列
- OC与swift相互调用
- Frontiers in neuroscience: 网络游戏成瘾者额叶theta频段震荡活动的降低
热门文章
- 华为鸿蒙系统英语报纸_“鸿蒙”系统的英文名叫这个!华为注册的这些名字都该怎么翻译?...
- 日常收支记账,使用图表查看类别收支
- 802d简明调试手册_802D 简明调试指南.pdf
- oom 如何避免 高并发_高并发下的内存管理技巧
- crispr基因编辑_用CRISPR编程基因组
- 3dmax:3dmax三维VR渲染设置之摄像机设置(修改摄像机、创建摄像机及其基本参数{视野、正交投影、镜头、环境范围、剪切平面、多过程效果、运动模糊、景深参数、运动模糊参}解释等)图文教程之详细攻略
- 天梯图excl_处理器2014最全天梯图
- 关心国事-21世纪经济报道:周鸿祎人治雅虎中国
- 基于存储卡的音乐播放器0.6
- Star CCM+ 2206安装