HDU - 1548

激光雷达接收芯片选型指南:APD、SiPM、SPAD阵列的优缺点对比 本文深入对比了激光雷达接收芯片APD、SiPM和SPAD阵列的核心技术原理与性能差异。APD作为线性模式工作的稳健选择,动态范围大;SiPM具备单光子探测和高增益优势;而SPAD阵列凭借像素级数字读出和集成TDC,在时间分辨率与系统集成度上领先。文章从灵敏度、时间精度、动态范围及系统成本等多维度剖析,为不同应用场景(如车载雷达、Flash LiDAR、消费电子)的芯片选型提供实战指南。 阅读详情

A strange lift

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 31944    Accepted Submission(s): 11441


 

Problem Description

There is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 <= Ki <= N) on every floor.The lift have just two buttons: up and down.When you at floor i,if you press the button "UP" , you will go up Ki floor,i.e,you will go to the i+Ki th floor,as the same, if you press the button "DOWN" , you will go down Ki floor,i.e,you will go to the i-Ki th floor. Of course, the lift can't go up high than N,and can't go down lower than 1. For example, there is a buliding with 5 floors, and k1 = 3, k2 = 3,k3 = 1,k4 = 2, k5 = 5.Begining from the 1 st floor,you can press the button "UP", and you'll go up to the 4 th floor,and if you press the button "DOWN", the lift can't do it, because it can't go down to the -2 th floor,as you know ,the -2 th floor isn't exist.
Here comes the problem: when you are on floor A,and you want to go to floor B,how many times at least he has to press the button "UP" or "DOWN"?

 

 

Input

The input consists of several test cases.,Each test case contains two lines.
The first line contains three integers N ,A,B( 1 <= N,A,B <= 200) which describe above,The second line consist N integers k1,k2,....kn.
A single 0 indicate the end of the input.

 

 

Output

For each case of the input output a interger, the least times you have to press the button when you on floor A,and you want to go to floor B.If you can't reach floor B,printf "-1".

 

 

Sample Input


 

5 1 5 3 3 1 2 5 0

 

 

Sample Output


 

3

 

 

【题意】

     给你一个数组,ki代表在第i层,电梯只能上或者下k楼,楼高为n,电梯只能到达1-n楼,电梯初始在A楼,求到达b楼的最小步数

 

【思路】

    明显是一道简单的bfs,一开始写的时候认为不需要vis数组标记,结果就错了! 错了!!!!以后要记着Bfs都需要标记数组来进行标记,对于这道题,你走到i楼,就一定会有上ki或者下ki楼是它的最佳方案,不存在走过i楼后,需要再次走到i楼的情况,所以需要用VIS数组去标记是否到达过i楼

 

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
int k[20009];
int pos[200009],sum[2000009];
int vis[310000],n;
void bfs(int a,int b){
	int head = 0,tail = 1;
	pos[1] = a;
	vis[a] = 1;
	while (head < tail){
		head++;
		if (pos[head] == b){
			printf("%d\n",sum[head]);
			return;
		}
		if (pos[head]+k[pos[head]]<=n && vis[pos[head]+k[pos[head]]] == 0){
			tail++;
			pos[tail] = pos[head]+k[pos[head]];
			sum[tail] = sum[head]+1;
			vis[pos[head]+k[pos[head]]] = 1;
		}
		if (pos[head]-k[pos[head]]>0 && vis[pos[head]-k[pos[head]]] == 0){
			tail++;
			pos[tail] = pos[head]-k[pos[head]];
			sum[tail] = sum[head]+1;
			vis[pos[head]-k[pos[head]]] = 1;
		}
	}
	printf("-1\n");
	return ;
}
int main ()
{
	int a,b;
	while (~scanf("%d",&n)){
		if (n == 0) break;
		scanf("%d%d",&a,&b);
		memset(pos,0,sizeof(pos));
		memset(k,0,sizeof(k));
		memset(sum,0,sizeof(sum));
		memset(vis,0,sizeof(vis));
		for (int i = 1; i <= n; i++)
			scanf("%d",&k[i]);
		bfs(a,b);
	}
}

 

【信创-k8s】银河麒麟V10国防版+鲲鹏/飞腾(arm64架构)在线/离线部署k8s1.30+kubesphere 银河麒麟作为国家核高基专项的重要成果,国防版凭借其卓越的安全性和可靠性,已成为军工领域的首选操作系统。之前我们在适配麒麟V4国防版的过程中已发现诸多安全性要求,而麒麟V10国防版在安全防护等级上又达到了更高的级别。本文将主要演示离线部署,因为军工项目基本不会出现联网场景。即使在线,也可以按离线方式部署,且离线部署由于有私有仓库,不会存在镜像获取不到和丢失情况。 阅读详情

相关推荐

Python办公自动化:用python-docx打造专业级Word表格边框(附完整代码)

本文深入探讨了如何利用python-docx库精细控制Word表格边框,实现办公自动化。通过解析底层XML结构,提供了通用的`set_cell_border`函数,并附上完整代码,帮助用户轻松打造符合商业规范的专业级表格,提升报告、合同等文档的生成效率与视觉效果。

weixin_29089057的博客 544

HDU1548解题报告

这道题运用bfs的方法,首先每一层可以摁up或者down,所以每一个节点可以扩展出两个节点。先把起始层节点入队,为了防止在之后重复拓展此节点,将在标记为true,之后在提取出头结点,并将其删除。同时将其的两个子节点入队。重复以上操作。如果最后出现节点==B(目标层数),则寻找成功,返回time【next】,函数调用结束,否则如果执行到最后,一直没有到达目标层数,则返回-1。这里要特别注意一点,就是...

rainysky7的博客 393

具身智能与空天具身智能:从理论到实践的跨领域融合

本文深入探讨了具身智能从理论到实践的发展,重点分析了空天具身智能这一前沿领域。文章阐述了如何为AI赋予“身体”,使其通过与环境实时交互进化智能,并详细拆解了构建空天智能体所需的核心技术模块,包括多模态感知、基于大模型的决策规划以及鲁棒控制。同时,结合山区电力线自主巡检等实战案例,展望了多智能体协同与标准化等未来方向。

weixin_29045585的博客 532

HDU1548:A strange lift(Dijkstra && BFS)

Problem Description There is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 <= Ki <= N) on every floor.The lift have just two buttons: up and down.When yo

ACM!荣耀之路! 1万+

工业质检新利器:手把手教你用AD-DINOv3实现零样本缺陷检测(附MVTec AD实战)

本文详细介绍了AD-DINOv3框架在工业质检中的应用,通过零样本异常检测技术解决传统方法的标注成本高和泛化能力弱问题。文章包含技术原理解析、MVTec AD数据集实战部署、模型训练流程及工业部署优化技巧,帮助读者快速掌握这一创新技术。

seed的博客 763

100天精通Python(爬虫篇)——第118天:selenium自动化操作浏览器基础大总结

一、Selenium框架环境搭建 1. 下载模块 2. 安装浏览器驱动WebDriver 二、基础操作 1. 打开浏览器 2. 无界面模式 3. 元素定位 4. 元素操作 5. 前进后退 6. 执行js 7.页面等待 隐式等待(常用) 显式等待(了解) 三、进阶操作 1. 使用代理ip 2. 修改请求头 3. 隐藏指纹特征.....................

努力让自己发光,对的人才能迎着光而来 10万+

hdu1548

题意:一个人要从某一层电梯到另一层电梯 ,每层电梯都只能上或者下特定层数,问你从某一层到另一层最少需要按多少次电梯按钮 如果你看了数据范围的话你就会想到用BFS广搜 用广搜就会想到队列   我先说说队列的几个基本语句吧 include quequeq 入队q.push(x)将x接到对位 q.pop(x)弹出队列的第一个元素 q.front(x)访问数组的第一个元素 q.back(

授人以鱼不如授人以渔 1589

基于Python的股票K线图爬取与形态识别系统

本文详细介绍了一个基于Python的股票K线图爬取与形态识别系统。该系统通过网络爬虫技术获取股票历史数据,使用Matplotlib生成K线图,并应用卷积神经网络(CNN)对经典K线形态进行识别。文章详细阐述了数据采集、K线图生成、CNN模型构建与训练的完整流程,并提供了完整的代码实现。本研究为金融科技领域的毕业设计提供了有价值的参考方案。关键词:Python爬虫、K线图、卷积神经网络、形态识别、股票交易。

2201_76125261的博客 1033

HDU1548【Dijkstra和BFS】

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1548 【广搜BFS分析】有N层楼,每层只能上或者下Ni阶,但是不能低于一层或高于N层,所以,每一次往两个方向搜索。 #include&lt;iostream&gt; #include&lt;queue&gt; #include&lt;algorithm&gt; #include&lt;cstdio...

Lily的博客 320

5、癌症数据预处理技术与深度学习在癌症预测中的应用

本文详细介绍了癌症数据预处理技术和深度学习在癌症预测中的应用。针对CT扫描图像、X射线图像、超声图像、基因表达数据和文本数据等不同类型的癌症数据,分别阐述了去噪、插值、配准、归一化等预处理技术的具体方法。同时,分析了深度学习在乳腺癌、白血病和宫颈癌预测中的作用,结合相关影响因素探讨了模型的应用潜力。此外,还总结了深度学习在癌症预测中面临的挑战及未来发展方向,为癌症的早期诊断与精准预测提供了理论支持和技术参考。

alice7model的博客 123

四舵轮底盘运动学模型(源码)(四轮四独立转向)二

舵轮4转向活动范围 x 轴正半轴,x轴正方向为0弧度,左正右负, -M_PI/2 < 转向范围 < M_PI/2;移动底盘的正前方为x方向,左侧为y轴方向(遵循右手坐标系,右手大拇指指向天空为z轴方向,食指与中指垂直,食指指向小车正前方为x轴,中指指向为移动底盘y轴方向)转向:逆时针旋转角速度w为正,顺时针旋转角速度w为负。(遵循右手螺旋法则,右手握拳大拇指指向天空为旋转z轴方向,拳垂直于地面,4指方向即底盘转动的正方向)左前轮为1号轮,右前轮为2号轮,左后轮为3号轮,右后轮为4号轮。

苏凯的博客 527

hdu 1548

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 题目大意:给出一列楼层,没层楼都有自己的功能,功能的意思是,它能上或者下一定的楼层数,(eg:楼层1 的 功能为 5, 那么它就能向上走五层);第一行给出三个数N,A,B; N为楼层数,A,B为从A层到达B层;第二行给出N楼层的功能,问最少需要按几次电梯的按钮,才能从A到达B 分析:bfs无

坚持迟早会有收获的!!! 1109

从工具选型到落地实践:吃透 SAP Fiori Launchpad 配置工具体系

摘要: SAP Fiori Launchpad配置远非简单添加应用和分配角色,涉及技术目录、业务目录、Spaces/Pages等多层管理。官方推荐新工具分工:技术目录用FLPAM维护应用定义,业务目录用FLPCM编排应用组合,Spaces/Pages优化用户体验布局,而传统Groups模式已被标记弃用。这种分层治理模式(定义层-编排层-展示层)能有效解决传输混乱、升级兼容性问题,尤其适合大规模项目实施。关键在于区分技术配置与业务呈现,避免将所有功能堆砌在单一旧工具中。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 103

HDU - 1548 A strange lift

https://vjudge.net/problem/HDU-1548 HDU - 1548 A strange lift题目分析AC代码 题目 There is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 <= Ki <= N) on every floor.The lift have just two buttons: up and down.When

斯文~ 349

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

hdu_1548 A strange lift

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 分析:广度优先搜索。对满足条件的楼层入队列,第一次得到的目的楼层一定是最少次数到达的。 我的代码: #include #include #include using namespace std; struct Node { int floor; //楼层数 int k;

徵羽調_xiao賤的专栏 708

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

HDU-1548 A Strange Lift

HDU-1548 A Strange Lift 题意:一共N层电梯,到达第x层电梯可以向上或向下移动a[x]的层数,问最短需要几次操作到达指定层数。 主要是要处理好操作数量的动态变化关系,莽++肯定会出问题 dfs,bfs,最短路dijkstra 貌似都能做 1.bfs #include<cstdio> #include<cstring> #include<algor...

想要一只银渐层 260

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

hdu 1548

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548建图是难点,就是能不能先到建图呀。。可能有点首先会想到模拟  。。#includeusing namespace std;const int MAX=201;const int MAXINT=999999999;int map[MAX][MAX]; bool vi

737

hdu-1548 A strange lift

http://acm.hdu.edu.cn/showproblem.php?pid=1548

有一种力量叫乐观 685

hdu 1548 最短路

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 就是Dijkstra算法的应用。。。。不过被坑了好久,原来电梯的up、down是并列的,初始化的时候出错了。。。。调了好半天。。突然醒悟过来了,,,orz View Code 1 #include<iostream> 2 #include<cstring&gt...

weixin_30301183的博客 77

杭电 hdu 1548 A strange lift

/* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------------------// Copyright (c) 2011 panyany

panyanyany(飞雨幻沙) 984

hdu 1548 A strange lift

bfs

GadyPu的专栏 383

hdu 1548 A strange lift(bfs||dijkstra)

hdu 1548 A strange lift http://acm.hdu.edu.cn/showproblem.php?pid=1548 ProblemDescription Thereisastrangelift.Theliftcanstopcanateveryfloorasyouwant,andthereisanum...

diansitao5461的博客 163

Hdu-1548 A strange lift

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 题目大意: 有一个建筑有N层,里面有一架电梯。给你一个起点层数和一个终点层数。there is a number Ki(0 ,在每一层都有一个按钮,按钮上面有一个数字,表示

飘过的小牛 1848

HDU1548 A strange lift

HDU1548 A strange lift 题意: 一个电梯,每一层都有up或者down,和一个ki代表上下的层数,给定起始和终止层数,求最少按up或者down的次数。 题解: 以层为顶点,所有层分别up或down到各自到达层为边(有向边),权重为1,建图。然后运用dijkstra求最短路即可。 AC代码: #include &lt;bits/stdc++.h&gt; usin...

点滴 280

HDU 1548 A strange lift(Dijkstra)

HDU 1548 A strange lift(Dijkstra) http://acm.hdu.edu.cn/showproblem.php?pid=1548 题意:有一个N层的电梯,每层有一个数字k[i],表示你在第i层能通过按up按钮到i+k[i]层去,能通过按down按钮到i-k[i]层去.(当然如果i+k[i]或i-k[i]不属于[1,N]范围,那么你不能动)现在给你层号A和B,问你

code 1095

hdu--1548--dfs--蜘蛛牌

/* Name: hdu--1548--蜘蛛牌 Author: shen_渊 Date: 17/04/17 09:15 Description: dfs,不好想,看两个大神的代码好久http://www.cnblogs.com/sook/archive/2011/03/27/1996775.html http://blog.youkuaiyun.com/cscj2010/art

shen_渊 的博客 470
上一篇: 树状数组 - 板子
下一篇: CodeForces - 1006E 树的dfs序
Wwayne_
博客等级 码龄9年 0粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值