TYVJ 1117 BFS
无限WA。。参考了一下题解和同学写的。。。。。。。
可以在bfs的基础上改一下。。
读入的时候平地权值是2 草地是0
bfs的时候如果搜到的是平地,那么直接加入,如果搜到的是草地,那么记录是草地。
从队列里面拿出来的时候,如果是平地就直接那出来,如果是草地就加到队尾,标记成平地。
目的就是保证层数和时间同步!start和end就看成平地好了
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <iostream>
using namespace std;
int x,y,t,a[66][66],sx,sy,ex,ey,vis[66][66];
int xx[]={1,-1,0,0},yy[]={0,0,1,-1};
queue <int> s,e;
int bfs()
{
s.push(sx);e.push(sy);
while(!s.empty())
{
int tempa=s.front(),tempb=e.front();
s.pop();e.pop();
if(tempa==ex&&tempb==ey) return vis[tempa][tempb];
if(a[tempa][tempb]==1)//草地加入
{
s.push(tempa);e.push(tempb);
a[tempa][tempb]=2;//标记成平地
vis[tempa][tempb]+=1;
continue;
}
for(int i=0;i<=3;i++)
{
int dx=tempa+xx[i],dy=tempb+yy[i];
if(dx<=x&&dx>0&&dy<=y&&dy>0&&a[dx][dy]!=-1&&!vis[dx][dy])
{
if(a[dx][dy]==0) a[dx][dy]=1;
s.push(dx);e.push(dy);
vis[dx][dy]=vis[tempa][tempb]+1;
}
}
}
}
int main()
{
scanf("%d%d%d",&t,&y,&x);//读入又是反的
char cc;
for(int i=1;i<=x;i++)
{
for(int j=1;j<=y;j++)
{
cin>>cc;
if(cc=='#') a[i][j]=0;
else if(cc=='.')a[i][j]=2;
else if(cc=='o')a[i][j]=-1;
else if(cc=='s')
{
sx=i;sy=j;a[i][j]=2;
}
else if(cc=='m')
{
ex=i;ey=j;a[i][j]=2;
}
}
}
int k=bfs();
k<t?printf("%d",k):printf("55555");//当k=t,则判断为未到!!因为这个WA了两次。。。
}
TYVJ 1117 BFS的更多相关文章
- TYVJ P3522 &&洛谷 P1135 奇怪的电梯 Label:bfs
题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开 ...
- TYVJ P1083 分糖果 Label:bfs
描述 童年的我们,将和朋友分享美好的事物作为自己的快乐.这天,C小朋友得到了Plenty of candies,将要把这些糖果分给要好的朋友们.已知糖果从一个人传给另一个人需要1 秒的时间,同一个小朋 ...
- tyvj P1431 [Tyvj Jan]分配任务(最大流)
P1431 [Tyvj Jan]分配任务 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 随着tyvj发展越来越大,管理员的任务越来越重,如何合理的 ...
- tyvj 1004 滑雪 记忆化搜索
滑雪 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.tyvj.cn/p/1004 Description trs喜欢滑雪.他来 ...
- tyvj 1031 热浪 最短路
热浪 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://tyvj.cn/p/1031 Description 德克萨斯纯朴的民眾们这个夏天正在遭受 ...
- TYVJ P1577 泥泞的道路
题目链接:http://www.tyvj.cn/p/1577# P1577 泥泞的道路 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 公园中有n个景点,编号 ...
- 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)
图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次.(连通图与非连通图) 深度优先遍历(DFS): 1.访问指定的起始顶点: 2.若当前访问的顶点的邻接顶点有未被访问的,则 ...
- 【BZOJ-1656】The Grove 树木 BFS + 射线法
1656: [Usaco2006 Jan] The Grove 树木 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 186 Solved: 118[Su ...
- POJ 3278 Catch That Cow(bfs)
传送门 Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 80273 Accepted: 25 ...
随机推荐
- Calculator(1.0)
Calculator(1.0) Github链接 解题过程中遇到的困难 对于c++中类和对象的使用不够明确,看了c++的视频教程学会了用类和对象来写程序. 不会使用<queue>,在网上查 ...
- Text Justification
在一段时间没刷题之后,我发现脑子严重地滞涩了.这题AC花了好大力气,出现了Memory Limit Exceed,Core Dump,以及各种普通的编译.运行错误.MLE 和 CD错误是比较难检查的, ...
- C++ 之 新式转型操作符
四种新式转型: const_cast.dynamic_cast.reinterpret_cast.static_cast!! 1.const_cast : 去除常量性 2.dynamic_cast ...
- MVC教程相关
本教程所有文章导航 本系列共10篇文章,翻译自Asp.Net MVC4 官方教程,由于本系列文章言简意赅,篇幅适中,从一个示例开始讲解,全文最终完成了一个管理影片的小系统,非常适合新手入门Asp.Ne ...
- Qt 获取本机ip地址 【转自 CSDN jpchen609
QString str; QHostInfo info=QHostInfo::fromName(QHostInfo::localHostName()); //定义一个HostInfo的对象然后对这个对 ...
- RCurl网络数据抓取
观察基础信息(服务器信息和提交给服务器的信息) d=debugGatherer()xpath="http://123.sogou.com/"url=getURL(xpath,deb ...
- 批处理——putCMAC小版本
@ECHO off del telcc.vbs del telcc.bat del ftp1.txt del ftp1.bat @echo off setlocal enabledelayedexpa ...
- js日期重写
Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d ...
- 本地mysql数据库root密码丢失修改方法
1,停止数据库 2,cd /etc/mysql 3,利用vim命令打开mysql配置文件my.cnf,在mysqld进程配置文件中添加skip-grant-tables,添加完成后,执行wd保存. ...
- iOS应用性能调优好文mark
http://www.cocoachina.com/ios/20150408/11501.html