计蒜客-跳跃游戏
发布日期:2022-02-25 01:17:45
浏览次数:63
分类:技术文章
本文共 889 字,大约阅读时间需要 2 分钟。
给定一个非负整数数组,假定你的初始位置为数组第一个下标。
数组中的每个元素代表你在那个位置能够跳跃的最大长度。
请确认你是否能够跳跃到数组的最后一个下标。
例如:A = [2,3,1,1,4]A=[2,3,1,1,4] 能够跳跃到最后一个下标,输出true
;
A = [3,2,1,0,4]A=[3,2,1,0,4] 不能跳跃到最后一个下标,输出false
。
输入格式
第一行输入一个正整数 n(1 \leq n \leq 500)n(1≤n≤500),接下来的一行 nn 个整数,输入数组 A_iAi。
输出格式
如果能跳到最后一个下标,输出true
,否则输出false
。
样例输入
52 0 2 0 1
样例输出
true
解题思路
这是一道贪心题(感觉不像=。=),题目说只是跳跃的最大长度,因此可能跳到的地方为0,但是前面可以是不为0的,所以到底过不过不能只是考虑跳到的地方是不是0,要考虑前面的情况,因此应该用另一个数组去做标记,判断是不是通
#includeusing namespace std;int a[1005],b[1005];int main(){ int n; while(cin>>n){ memset(b,0,sizeof(b)); int i,j; for(i = 0;i < n;i++){ cin >> a[i]; } b[0] = 1; for(i = 0;i < n;i++){ int k = i; if(b[i]){ //如果没有断路就继续 for(j = i;j <= k + a[i];j++){ b[j] = 1; } } else{ //如果出现断路 就证明根本跳不到 cout<<"false"<
转载地址:https://blog.csdn.net/qq_37755550/article/details/80156034 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月01日 12时33分26秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
xLua(五)——C#访问Lua的table
2021-06-30
xLua(六)——C#访问Lua的function
2021-06-30
基础知识——常用单位介绍
2019-04-27
xLua(七)——Lua访问C#(一)
2019-04-27
xLua(八)——Lua访问C#(二)
2019-04-27
Unity中实现解析Json文件
2019-04-27
Unity自带Json解析库——JsonUtility
2019-04-27
Unity中使用ViedoPlayer操作视频文件
2019-04-27
C#中的的输入与输出
2019-04-27
C#中@符号的作用
2019-04-27
C#中$符号的作用
2019-04-27
Mac装windows系统后如何更换触控板设置
2019-04-27
Windows系统下如何设置软件的快捷键
2019-04-27
语言中的溢出
2019-04-27
Unity中实现获取一段时间内移动设备声音的最大音量
2019-04-27
springboot的初始化启动过程
2019-04-27
关于spring bean 生命周期代码详解-产生到消亡
2019-04-27
spring 启动之全过程 源码解析
2019-04-27
Spring AOP 原理
2019-04-27