描述
米兔爸爸为了让小米兔好好锻炼身体,便给小米兔设置了一个挑战——跳格子。
要吃到自己心爱的胡萝卜,小米兔需要跳过面前一些格子。现有 N 个格子,每个格子内都写上了一个非负数,表示当前最多可以往前跳多少格,胡萝卜就放在最后一个格子上。米兔开始站在第 1 个格子,试判断米兔能不能跳到最后一个格子吃到胡萝卜呢?
输入
输入为 N 个数字 (N<10),用空格隔开,第 i个数字 si(100≤si<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; }