hdu 1548 A strange lift 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548
题目意思:给出 n 个 floor 你,每个floor 有一个数k,按下它可以到达 floor + k 或者 floor - k的位置。问从floor A 到 floor B 最少的按lift 次数是多少。
hdu 真是!!!!!
queue<node> q 写在main 外就 wa了!!! = = 汗!!!
还专门瞪大双眼对照别人AC的代码,看了一遍又一遍,以为色盲了= =,可恶HDU !!!
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
using namespace std; const int maxn = + ;
int vis[maxn], k[maxn]; struct node
{
int f, step;
}st, s, next; int main()
{
int n, a, b;
while (scanf("%d", &n) != EOF)
{
if (n == )
break;
scanf("%d%d", &a, &b);
for (int i = ; i <= n; i++)
{
scanf("%d", &k[i]);
vis[i] = ;
}
int flag = ;
queue<node> q; // 这个东西在main外声明就wa!!!
st.f = a;
st.step = ;
q.push(st);
vis[st.f] = ;
while (!q.empty())
{
s = q.front();
q.pop();
if (s.f == b)
{
flag = ;
break;
}
st.f = s.f + k[s.f];
next.f = s.f - k[s.f];
if (st.f >= && st.f <= n && !vis[st.f])
{
vis[st.f] = ;
st.step = s.step + ;
q.push(st);
}
if (next.f >= && next.f <= n && !vis[next.f])
{
vis[next.f] = ;
next.step = s.step + ;
q.push(next);
}
}
printf("%d\n", flag ? s.step : -);
}
return ;
}
hdu 1548 A strange lift 解题报告的更多相关文章
- hdu 1548 A strange lift
		题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1548 A strange lift Description There is a strange li ... 
- HDU 1548 A strange lift   (Dijkstra)
		A strange lift http://acm.hdu.edu.cn/showproblem.php?pid=1548 Problem Description There is a strange ... 
- hdu 1548 A strange lift  宽搜bfs+优先队列
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 There is a strange lift.The lift can stop can at ... 
- HDU 1548 A strange lift (最短路/Dijkstra)
		题目链接: 传送门 A strange lift Time Limit: 1000MS Memory Limit: 32768 K Description There is a strange ... 
- HDU 1548 A strange lift (bfs / 最短路)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 A strange lift Time Limit: 2000/1000 MS (Java/Ot ... 
- HDU   1548   A strange lift    搜索
		A strange lift Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ... 
- hdu 1548 A strange lift (bfs)
		A strange lift Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ... 
- HDU 1548 A strange lift(BFS)
		Problem Description There is a strange lift.The lift can stop can at every floor as you want, and th ... 
- HDU 1548   A strange lift  (广搜)
		题目链接 Problem Description There is a strange lift.The lift can stop can at every floor as you want, a ... 
随机推荐
- android导入项目出错之解决办法
			导入android源码后,基本都有错误,R.java也不会自动生成,因为是第一次导入工程,工程有错R.java就不会自动生成了,工程有错误,当然模拟器就不能启动,也就看不到效果.随后网上找各种解决方法 ... 
- 2017 ACM/ICPC Asia Regional Urumuqi Online 记录
			比赛题目链接 Urumuqi 
- 【Todo】【读书笔记】Career Cup 150笔记
			下载了第五版:/Users/baidu/Documents/Data/Interview/算法与数据结构/<CareerCup+Top+150+Questions+5th.pdf> 参考这 ... 
- STM8S---选项字节(Option Byte)写操作之IO复用
			功能实现目标 通过对选项字节的写操作来实现TIM2的CH3通道的PWM输出IO复用.能够设置为PA3或者PD2输出. 通过STVP方式操作链接 选项字节 选项字节包含芯片硬件特性的配置和存储器 ... 
- JNI——访问数组
			JNI在处理基本类型数组和对象数组上面是不同的.对象数组里面是一些指向对象实例或者其它数组的引用. 因为速度的原因,先通过GetXXXArrayElements函数把简单类型的数组转化成本地类型的数组 ... 
- java开始到熟悉72-76
			本次内容:异常机制 1.为什么需要异常 2.异常 3.error类 4.exception类 5.exception类中的unchecked exception 举例: 6.常用异常处理方法 a.tr ... 
- C#语言 ArrayList集合
- Python基础——数据类型、流程控制、常用函数
			Python tutorial :Python网站上的对 Python 语言和系统的基本概念和功能进行的非正式的介绍. 在学习Python之前,我们需要学会在各个平台配置Python的运行环境,下文中 ... 
- 理解OpenStack认证:Keystone PKI
			原文链接: https://www.mirantis.com/blog/understanding-openstack-authentication-keystone-pki/ The latest ... 
- Android(Linux)模拟按键、触摸屏等事件
			前提: 在我们应用程序或者在写Android自己主动化測试时候经常会须要模拟实体按键,来给我们做測试用.这也是我要整理的目的. 基本的涉及的是Linux Input Event事件. 下面的样例基于A ... 
