codevs 2059 逃出克隆岛
oi小组的yh酷爱玩魔兽rpg,每天都会在u9搜索最新的rpg地图。
今天,他找到一张名为《逃出克隆岛》的地图,在这张地图中,有一个n行m列的矩阵,矩阵由’Y’,’C’,’#’,’*’,’P’,5种元素组成。’Y’表示yh的出生位置,C表示克隆岛的出口,’#’表示该处不可通过,’*’表示通过该处需要消耗金币cost,’P’表示传送阵,任意两个传送阵之间可以免费互相传送。由于这仅仅是第一关,yh不想浪费太多的体力,聪明的你能帮他算出从’Y’出发到’C’最少需要消耗多少金币吗?当然,如果yh永远无法到达’C’,请输出” screw you!”以表到yh的不满。
第一行两个整数,n,m,表示矩阵有n行m列
接下来为n行m列的矩阵,由’Y’,’C’,’#’,’*’,’P’,组成,含义如题目描述。
输出1行,表示yh需要花费的最小体力(如果无法到达输出”screw you!”)。
【样例输入1】
1 3 3
Y*C
【样例输入2】
1 3 2
Y#C
【样例输入3】
1 5 2
YP#PC
【样例输出1】
3
【样例输出2】
screw you!
【样例输出3】
0
【数据范围】
对于100%的数据,n*m≤5000,传送阵’P’的数量≤500
BFS
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio> using namespace std;
char tx[][];
bool csm[][],vis[][];
int cost,start_x,start_y,over_x,over_y,n,m,fx[]={,-,,},fy[]={,,-,};
void print(int k)
{
printf("%d",k);
exit();
}
void bfs(int sx,int sy)
{
int f[][],l=,r=;
f[++r][]=sx;
f[r][]=sy;
f[r][]=;
do
{
int now_x=f[++l][],now_y=f[l][];
for(int j=;j<;++j)
{
int to_x=now_x+fx[j],to_y=now_y+fy[j];
if(to_x==over_x&&to_y==over_y)
print(f[l][]);
if(to_x>=&&to_x<=n&&to_y>=&&to_y<=m&&tx[to_x][to_y]!='#'&&vis[to_x][to_y]==)
{
if(csm[to_x][to_y]==)
{
f[++r][]=to_x;
f[r][]=to_y;
f[r][]=f[l][];
csm[to_x][to_y]=;
for(int i=;i<=n;++i)
{
for(int k=;k<=m;++k)
{
if(csm[i][k]==)
{
csm[i][k]=;
f[++r][]=i;
f[r][]=k;
f[r][]=f[l][];
}
}
}
}
else
{
vis[to_x][to_y]=;
f[++r][]=to_x;
f[r][]=to_y;
if(tx[to_x][to_y]=='*') f[r][]=f[l][]+cost;
else f[r][]=f[l][];
}
}
} }while(l<=r);
}
int main()
{
scanf("%d%d%d",&n,&m,&cost);
for(int i=;i<=n;++i)
{
for(int j=;j<=m;++j)
{
cin>>tx[i][j];
if(tx[i][j]=='P') csm[i][j]=;
else if(tx[i][j]=='Y') start_x=i,start_y=j;
else if(tx[i][j]=='C') over_x=i,over_y=j;
}
}
bfs(start_x,start_y);
printf("screw you!");
return ;
}
codevs 2059 逃出克隆岛的更多相关文章
- 逃出克隆岛 (codevs 2059)
较普通的走迷宫的题 传送门 :codevs 2059 逃出克隆岛 思路 :BFS 即可 PS :传送门 不必重复使用 #include <iostream> #include < ...
- AC日记——逃出克隆岛 (bfs)
2059 逃出克隆岛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description oi小组的yh酷爱玩魔兽rpg,每天都 ...
- codevs2059逃出克隆岛(传送门bfs)
/* 和普通的迷宫问题类似只是多了一个叫传送门的东西 对于传送门的处理: 每当跑到传送门就把其余所有传送门周围的点都入队 传送门之间不花费时间并且从不是传送门的点走到传送门 也不花费时间花费时间的(好 ...
- 使用 trash-cli 逃出 rm 命令误删除重要文件的阴影
今天是一个难忘的日子,当时本来想清除我们公司网站cms目录下面一些cdn推送网页后残留的垃圾文件,结果在执行rm -rf conten* 时打成了rm -rf conten *结果就悲剧了.cms目录 ...
- 西南民族大学第十二届程序设计竞赛(同步赛) A.逃出机房 (bfs)
题意:有来两个人A和B,A追B,A和B每次向上下左右移动一个单位,一共有两扇门,问A是否可以追上B(在门口追上也算合法). 题解:当时看题意说在门口也算?就觉得是判断两个人到门口的时间,对他们两个人分 ...
- 最短路【洛谷P3393】 逃离僵尸岛
P3393 逃离僵尸岛 题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被 ...
- codevs 1144 守望者的逃离
传送门 1144 守望者的逃离 2007年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 恶 ...
- luogu P3393 逃离僵尸岛-搜索剪枝+spfa
P3393 逃离僵尸岛 题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被 ...
- 洛谷⑨月月赛Round2 P3393逃离僵尸岛[最短路]
题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被僵尸控制了,如果贸然闯入 ...
随机推荐
- Product it again
题意:求解 $$\prod_{1 \leq i \leq n} \prod_{1 \leq j \leq m} {(i,j)}$$ 解法: 满脑子的反演 考虑对于第一个质数 $p$ 的贡献为 $p^{ ...
- 性能测试之Jmeter学习(四)
本节主要讲解:如何创建Web测试计划 如何创建一个简单的测试计划,用于测试web站点? 1.明确测试需求:我们会模拟5个并发用户,对Jakarta Web站点的网个页面进行访问,另外每个并发用户都会运 ...
- ElasticSearch基础之查询功能
[01]查询类型: [02]基本查询和组合查询是参与打分的 1.创建映射: 注意事项:基于上面映射的创建: "type": "keyword" # 如果某个字段 ...
- dom4j的解析实例
book.xml数据如下: <books> <book> <author>Thomas</author> <title>Java从入门到放弃 ...
- 验证网站SiteMap的工具
验证网站SiteMap的在线工具 http://www.xmlvalidation.com/ 在SiteMap文件中,不能直接这样写url "http://www.obriensplast ...
- DOM学习笔记(一)DOM树
DOM 定义了访问和操作 HTML 文档的标准方法. HTML 文档中的所有内容都是节点,将 HTML 文档表达为树结构,称为节点树 HTML DOM 树 HTML DOM 是关于如何获取.修改.添加 ...
- 徒手撸一个 Spring Boot 中的 Starter ,解密自动化配置黑魔法!
我们使用 Spring Boot,基本上都是沉醉在它 Stater 的方便之中.Starter 为我们带来了众多的自动化配置,有了这些自动化配置,我们可以不费吹灰之力就能搭建一个生产级开发环境,有的小 ...
- HDOJ2579,BFS(三维数组标记)
三维数组对于我这个萌萌的新手来说真是酷酷的,帅到不行,,, 三维数组前面还看到空间的哪一题HDOJ1240,这一题时间上的标记,更酷了!!! 不说废话了,贴一发代码: #include <std ...
- [HNOI2010] 合唱队 chorus
标签:区间DP.题解: 首先分析题目,根据题目中的列队方式以及数据范围,我们容易想到O(n2)的算法,也就是区间DP.发现直接dp[L][R],不能转移,于是添加一个dp[L][R][0/1],0表示 ...
- niushop,优秀的国产开源电商系统体验
前几天,小编发布了国产电商开源系统推荐,有个小伙伴后台留言说niushop不错. 先别管这么多,盘他! 我这里下载的是B2C单商户免费版 先把源码下载下来.安装之前先看看niushop的环境要求. P ...