博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1135 奇怪的电梯
阅读量:6530 次
发布时间:2019-06-24

本文共 973 字,大约阅读时间需要 3 分钟。

奇怪的电梯

这个电梯真的好奇怪哦,这种电梯怕不是要急死快要迟到的人qwqwq

这道题LITTLESUN用了bfs,记录每一层楼的同时记录次数。注意在结束是进行标记用于输出到达不了的情况其实也可以在最后直接特判r.floor
AC代码如下

#include
#include
#include
#include
#include
#include
#define MAXN 10100using namespace std;int N,A,B;int G[MAXN];int vis[MAXN];bool book;struct item{ int floor; int time;};item r;queue
q;void bfs(item t){ q.push(t); while(!q.empty()) { r=q.front(); vis[r.floor]=1; q.pop(); if(r.floor==B) { book=1; break; } int a=r.floor+G[r.floor]; if(vis[a]==0&&a<=N) { item t2; t2.floor=a; t2.time=r.time+1; q.push(t2); } a=r.floor-G[r.floor]; if(vis[a]==0&&a>=1) { item t2; t2.floor=a; t2.time=r.time+1; q.push(t2); } } }int main(){ scanf("%d%d%d",&N,&A,&B); for(int i=1;i<=N;i++) { scanf("%d",&G[i]); } item t; t.floor=A; t.time=0; bfs(t); if(book) { printf("%d",r.time); } else printf("-1"); return 0;}

转载于:https://www.cnblogs.com/LITTLESUNwl/p/10674886.html

你可能感兴趣的文章
[转]分享2011年8个最新的jQuery Mobile在线教程
查看>>
android call require api level
查看>>
Mac下android环境搭建
查看>>
创建Visual Studio项目模版向导的几篇参考文章
查看>>
深入浅出SQL Server Replication第一篇:走近Replication(上)
查看>>
[TopCoder][SRM] SRM 562 DIV 2
查看>>
SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第一篇)
查看>>
LocalAlloc,VirtualAlloc,malloc,new的异同
查看>>
回调函数
查看>>
win7 x64 jdk1.7.0_51
查看>>
这些开源项目,你都知道吗?(持续更新中...)[原创]
查看>>
linux中利用iptables+geoip过滤指定IP
查看>>
在myeclipse中写sql语句的细节问题
查看>>
使用ShellExecute打开目标文件所在文件夹并选中目标文件
查看>>
HDU 4614 Vases and Flowers (2013多校2 1004 线段树)
查看>>
Minix中的字符判定ctype.c
查看>>
91平台iOS接入demo
查看>>
五个优秀的硬盘检测工具
查看>>
用js实现table内容从下到上连续滚动
查看>>
基于ffmpeg的流媒体服务器
查看>>