首页 > 其他分享 >奇怪的电梯

奇怪的电梯

时间:2025-01-18 20:30:03浏览次数:3  
标签:数字 int 电梯 个用 按钮 奇怪 500

题目描述

青牛做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且每层楼上有一个数字。电梯只有两个按钮:上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:一共有7楼,每层楼的数字是3,1,2,2,2,4,1,从1楼开始。在1楼,按“上”可以到4楼,按“下”是不起作用的,因为没有-2楼。那么,从A楼到B楼至少要按几次按钮呢?

输入描述

共二行。

第一行为3个用空格隔开的正整数,表示N,A,B(1≤N≤200,1≤A,B≤N)。

第二行为N个用空格隔开的非负整数,表示Ki。

输出描述

一行,即最少按键次数,若无法到达,则输出−1。

#include<bits/stdc++.h>
using namespace std;
int a,b,x[500]/*电梯上的数字*/;
bool vis[500];
int q,p; //头、尾指针 
int N;
struct node
{
	int floor,dep;
}Q[1000];
int bfs() //广搜 
{
	if(a==b) return 0; //如果开始层等于结束层,直接返回0步 
	int ans,top,k;
	Q[1]={a,0};
	q=1;p=2;
	while(q<p)
	{
		top=Q[q].floor;ans=Q[q].dep;
		for(int i=-1;i<=1;i+=2)
		{
			k=top+x[top]*i;
			if (k>=1&&k<=N&&!vis[k])
			{
				vis[k]=true;
				if(k==b) return ans+1;  //到达终点,返回答案 
				Q[p]={k,ans+1}; //入队列 
				p++;
			}
		}
		q++;
	}
	return -1;
}
int main()
{
	cin>>N>>a>>b;
	for(int i=1;i<=N;i++) cin>>x[i];
	cout<<bfs();
	return 0;
}

标签:数字,int,电梯,个用,按钮,奇怪,500
From: https://blog.csdn.net/vehiclevjv/article/details/145169622

相关文章

  • 电瓶车进电梯识别报警摄像机
    随着电动车的普及,越来越多的人选择电动车作为出行工具。在诸多场景中,电梯作为一种常见的交通工具,也受到了电动车用户的青睐。然而,电动车进入电梯时存在一些安全隐患,为了提高电动车进电梯的安全性,可以考虑使用电瓶车进电梯识别报警摄像机进行监测和预警,以增强安全性。电瓶车进电......
  • posggres 的聚合查询,记录数好奇怪:
    我的测试环境如何产生数据的:用sysbench生成和测试过!sysbench--db-driver=pgsql--pgsql-host=127.0.0.1--pgsql-port=5432--pgsql-user=test02--pgsql-password=test02--pgsql-db=postgres--oltp-table-size=200000--oltp-tables-count=10--rand-init=on--threads=10......
  • 通信工程专业课设[音响放大器设计与制作、电梯内部控制器的设计、基于单片机的GRPSGSM
    通信工程专业课设各种课设总览①模电级课程设计-音响放大器设计与制作②数电课程设计-电梯内部控制器的设计③单片机课设-基于单片机的GRPSGSM系统设计`&`基于单片机的433M无线通信系统④FPGA课设-异步fifo设计⑤Protel课程设计-基于单片机的温湿度控制系统⑥信息论课设-......
  • hutool的一个奇怪现象,main ERROR Log4j2 could not find a logging implementation. P
    hutool有一个强大的功能,一行代码实现增删改查。在src/main/resources目录增加一个db.settings配置文件:url=jdbc:mysql://localhost:3306/ujcms?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueuser=rootpass=root##......
  • 基于PLC的电梯控制系统(论文+源码)
    1.系统设计电梯采用了PLC控制方式,通过对PLC进行逻辑程序设计,电梯不仅在控制水平上得到了质的提升,同时在安全性上也得到了大大提高。控制系统在构造上实现了简洁化,不仅优化了硬件接线方便了线路施工,同时对控制要求的改变或增加可以很轻松的完成,在系统安全运行性上也有大幅度的......
  • 电动车进入电梯识别报警摄像机
    电动车进入电梯一直是社区物业管理和居民关注的热点问题。尽管一些小区已经规定禁止电动车进入电梯,但仍有不少违规现象存在,这不仅影响了其他居民的乘梯体验,还存在安全隐患。为了解决这一问题,电动车进入电梯识别报警摄像机应运而生,它通过智能监测和识别技术,有效监管电梯内的情况,保......
  • 电动车进电梯监测报警摄像机
    电动车进电梯监测报警摄像机结合了监测和报警功能,采用高清晰度摄像头和智能识别系统,能够准确监测电梯内的情况以及电动车主人的行为。当电动车进入电梯时,摄像机会实时监测并识别,一旦出现异常情况如未经授权的其他人或车辆进入电梯,则系统会立即发出警报并自动记录相关信息,及时通知......
  • 【翻译_by_gpt】通过一个奇怪的技巧让你的 QEMU 快 10 倍(软件开发中的一个典型的debug
    标题:通过一个奇怪的技巧让你的QEMU快10倍URL来源:https://linus.schreibt.jetzt/posts/qemu-9p-performance.htmlMarkdown内容:这篇关于QEMU的工作和文章由DeterminateSystems资助,并在DeterminateSystems博客上共同发布。背景NixOS广泛使用基于QEMU的虚拟机......
  • 奇奇怪怪的编程语言:Malbolge
    Malbolge除了我们日常使用的Python、Java、C等主流编程语言外,还存在这么一类极为晦涩难懂的编程语言,被称为深奥的编程语言(Esotericprogramminglanguage,简称Esolang)。它们被设计用于测试计算机语言表达的极限,所以不会考虑它们的实用性。今天我们来看其中一个非常典型的例子:Malbo......
  • 奇奇怪怪的编程语言:Malbolge
    Malbolge除了我们日常使用的Python、Java、C等主流编程语言外,还存在这么一类极为晦涩难懂的编程语言,被称为深奥的编程语言(Esotericprogramminglanguage,简称Esolang)。它们被设计用于测试计算机语言表达的极限,所以不会考虑它们的实用性。今天我们来看其中一个非常典型的例......