无限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的更多相关文章

  1. TYVJ P3522 &&洛谷 P1135 奇怪的电梯 Label:bfs

    题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开 ...

  2. TYVJ P1083 分糖果 Label:bfs

    描述 童年的我们,将和朋友分享美好的事物作为自己的快乐.这天,C小朋友得到了Plenty of candies,将要把这些糖果分给要好的朋友们.已知糖果从一个人传给另一个人需要1 秒的时间,同一个小朋 ...

  3. tyvj P1431 [Tyvj Jan]分配任务(最大流)

    P1431 [Tyvj Jan]分配任务 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述      随着tyvj发展越来越大,管理员的任务越来越重,如何合理的 ...

  4. tyvj 1004 滑雪 记忆化搜索

    滑雪 Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://www.tyvj.cn/p/1004 Description     trs喜欢滑雪.他来 ...

  5. tyvj 1031 热浪 最短路

    热浪 Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://tyvj.cn/p/1031 Description 德克萨斯纯朴的民眾们这个夏天正在遭受 ...

  6. TYVJ P1577 泥泞的道路

    题目链接:http://www.tyvj.cn/p/1577# P1577 泥泞的道路 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 公园中有n个景点,编号 ...

  7. 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)

    图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次.(连通图与非连通图) 深度优先遍历(DFS): 1.访问指定的起始顶点: 2.若当前访问的顶点的邻接顶点有未被访问的,则 ...

  8. 【BZOJ-1656】The Grove 树木 BFS + 射线法

    1656: [Usaco2006 Jan] The Grove 树木 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 186  Solved: 118[Su ...

  9. POJ 3278 Catch That Cow(bfs)

    传送门 Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 80273   Accepted: 25 ...

随机推荐

  1. Eclipse 项目中有红色感叹号,怎么办?

    /** * JDK1.5中增加了自动拆装箱的语言特性,在基本类型和包装类型之间可以相互地转换和运算. * 大家也都知道Java中==运算符是比较两个对象间的引用是否相同.在自动拆装箱与“==”运算符之 ...

  2. Eclipse - 修改默认user和类的创建日期

    1.找到eclipse.ini文件 2.在文件中找到 -vmargs -Duser.name=xxxxxxxx 3.修改xxxxxxxx为你的名字 4.eclipse中:Window -> Pr ...

  3. SQLServer - 约束

    一.约束的分类 在SQLServer中,有3种不同类型的约束. 1.实体约束 实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键. 2.域约束 域约束是关于列的,对于所有行,某一列有 ...

  4. Large Margin DAGs for Multiclass Classification

    Abstract We present a new learning architecture: the Decision Directed Acyclic Graph (DDAG), which i ...

  5. 【转】jQuery获取Select option 选择的Text和Value

    获取一组radio被选中项的值:var item = $('input[name=items][checked]').val();获取select被选中项的文本:var item = $(" ...

  6. linux内核分析——扒开系统调用的三层皮(下)

    20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 实验 ...

  7. Errore Http 404.2

    问题一:IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 404.2就一个http status code, 在msdn上说:404.2 - ISAPI or CGI rest ...

  8. 【C编译器】MinGw安装与使用(调试问题待续)

    不想装vs2005之类的,想要一个轻量级的C语言编译器,希望将焦点放在如何写好代码上: 本人信奉:代码质量是靠设计和检视保证的,不是靠调试: 1.安装MinGW http://www.mingw.or ...

  9. maven 配置

    四.eclipse配置maven eclipse---window---maven------User Settings: 之前设置的仓库的位置: 五.idea15配置maven idea14---s ...

  10. iOS8后core location框架启动定位服务的步骤

    1.在使用CoreLocation前需要调用如下函数[iOS 8专用]: iOS 8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法: (1)始终允 ...