首页 > 试题广场 >

大富翁游戏

[编程题]大富翁游戏
  • 热度指数:1277 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

大富翁游戏规则如下

  1. 玩家起始会获得一定资本M金币

  2. 玩家每一次可以走一个格,或者跳两个格;走一格耗费2个金币能量;跳两个格,耗费3个金币能量;金币只有满足能量消耗时,才能继续往下走

  3. 玩家每走到一个格,会得到这个格的奖励,每个格的奖励金币数为非负整数

  4. 当玩家走到这个格后,总金币数不足以支持下一步金币消耗时,则不能继续往下走,游戏结束

  5. 玩家第一步可以选择走一步进第1格或者跳2步进第2格起始,玩家可以选择在任意一格结束游戏
问玩家游戏中,最多能得到多少个金币?

输入描述:

共两行

第一行为一个整数,表示玩家的起始资本M

第二行为一个整数数组,由空格分割,表示一个顺序奖励方格,数组中的值表示方格中的奖励



输出描述:
仅一行一个整数表示答案,即玩家能获得的最多的金币数量
示例1

输入

3
1 3 1 2 4

输出

4
示例2

输入

3
1 3 2 3 1 1 1 5 10

输出

4
头像 大厂算法岗必拿下
发表于 2021-09-16 05:40:01
标准动态规划 #include<bits/stdc++.h> using namespace std; int main(){ int M,a; while(cin>>M){ vector<int> p; whi 展开全文
头像 小牛冲冲冲jiang
发表于 2021-09-16 08:04:21
import java.util.Scanner; import java.util.ArrayList; public class Main{ public static void main(String[] args){ //读取数据 Scanner i 展开全文