计蒜课--跳跃游戏

    xiaoxiao2021-12-12  2

    题目: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

    最新回复(0)