• JSK 18: 跳跃游戏


    #include <iostream>
    #include <string>
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <deque>
    #include <map>
    #define range(i,a,b) for(int i=a;i<=b;++i)
    #define LL long long
    #define rerange(i,a,b) for(int i=a;i>=b;--i)
    #define fill(arr,tmp) memset(arr,tmp,sizeof(arr))
    using namespace std;
    int n,num[505],dp[505];
    void init() {
        cin>>n;
        range(i,0,n-1)cin>>num[i];
    }
    void solve(){
        bool ans=false;
        if(n==1)ans=true;
        int pos=0;
        while(pos<n-1){
            pos+=num[pos];
            if(!num[pos]&&pos!=n-1)break;
            if(pos==n-1){ans=true;break;}
        }
        cout<<(ans?"true":"false")<<endl;
    }
    int main() {
        init();
        solve();
        return 0;
    }
    View Code
  • 相关阅读:
    mysql 查询优化 ~ select count 知多少
    mongodb 案例 ~ 经典故障案例
    printk 驱动调试
    21天学通C++学习笔记(七):函数
    OPC UA
    MQTT
    分库分表
    水平、垂直权限问题(横向越权与纵向越权)
    数据库中的行转列和列转行
    面试知识点
  • 原文地址:https://www.cnblogs.com/Rhythm-/p/9336648.html
Copyright © 2020-2023  润新知