计蒜客 跳跃游戏

Posted SeeKHit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计蒜客 跳跃游戏相关的知识,希望对你有一定的参考价值。

跳跃游戏

给定一个非负整数数组,假定你的初始位置为数组第一个下标。

数组中的每个元素代表你在那个位置能够跳跃的最大长度。

请确认你是否能够跳跃到数组的最后一个下标。

例如:

A = [2,3,1,1,4],

return true.

A = [3,2,1,0,4],

return false.

格式:

第一行输入一个正整数n,接下来的一行,输入数组A[n]。如果能跳到最后一个下标,输出“true”,否则输出“false”

样例输入

5
2 0 2 0 1

样例输出

true

 1 #include"iostream"
 2 #define MAX 10000
 3 using namespace std;
 4 
 5 int jump(int n, int *a, int p)
 6 {
 7     if (p >= n)
 8         return 1;
 9     for (int i = a[p]; i>0; i--)
10     {
11         if (jump(n, a, p + i) == 1)
12             return 1;
13         else
14             a[p + i] = -1; //p+1位置到不了最后
15     }
16     return 0;
17 }
18 
19 int main()
20 {
21     int a[MAX];
22     int n,tag;
23     tag = 0;
24     cin >> n;
25     for (int i = 0; i<n; i++)
26     {
27         cin >> a[i];
28     }
29 
30     if (jump(n,a,0))
31         cout << "true";
32     else
33         cout << "false";
34 
35 }

 

以上是关于计蒜客 跳跃游戏的主要内容,如果未能解决你的问题,请参考以下文章

运用NP求解 “跳跃游戏”---计蒜客

计蒜客 跳跃游戏

计蒜客 跳跃游戏2

计蒜客_跳跃游戏

计蒜客-题库-跳跃游戏2

计蒜客-跳跃游戏二 (简单dp)