MIOJ #119 小米兔跳格子

描述

米兔爸爸为了让小米兔好好锻炼身体,便给小米兔设置了一个挑战——跳格子。

要吃到自己心爱的胡萝卜,小米兔需要跳过面前一些格子。现有 N 个格子,每个格子内都写上了一个非负数,表示当前最多可以往前跳多少格,胡萝卜就放在最后一个格子上。米兔开始站在第 1 个格子,试判断米兔能不能跳到最后一个格子吃到胡萝卜呢?

输入

输入为 N 个数字 (N<10),用空格隔开,第 i个数字 si(100si<10) 表示米兔站在第 i个格子上时,最多能往前跳的格数。

输出

若米兔能跳到最后一个格子上吃到胡萝卜,输出 “true“,否则输出 “false“

输入样例

2 0 1 0 0 3 4

输出样例

false

AC代码:

#include <bits/stdc++.h>
#include<iostream>
#include<map>
using namespace std;
int main()
{
    int b;
    vector<int>a;
    bool flag = false;
    while(cin>>b)
    {
                    a.push_back(b);
        if (cin.get() == '\n')
            break;
    }
    int mitu = 0;
    while(mitu<a.size()){
        mitu = mitu + a[mitu];
        if(mitu == a.size()-1){
            flag = true;
            break;
        }
        if(a[mitu] == 0){
            break;
        }
    }
    if(flag){
        cout<<"true"<<endl;
    }
    else
    cout<<"false"<<endl;
}

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注