题目:https://nanti.jisuanke.com/t/18
记录当前可走的最大步数就可以了
比如
5
3 4 1 1 5这个数据
在下标0的位置 可走最大步数为3
然后走一步能走的最大步数该减1 保存为2;
在下标1的位置 保存的最大步数为2 但是下标1位置其实可以走4步 最大步数更新为4
然后走一步能走的最大步数该减1 保存为3;
以此类推 当走到一个位置更新后的最大步数为0 这代表它不能往下走了。判断是不是最后一个位置(最后一个位置不需要向下走了),然后输出结果
代码如下:
#include <stdio.h>
int main()
{
int n,i;
while(scanf("%d",&n)!=EOF){
int ma = 0, temp,m = 1;
while(n--)
{
scanf("%d",&temp);
if(temp>--ma)
ma = temp;
if(ma==0&&n!=0)
m = 0;
}
printf("%s\n",m?"true":"false");
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-900142.html