题解 | #大富翁游戏#

大富翁游戏

http://www.nowcoder.com/practice/15771d999d1047eb86eca1e63d05b06a

  1. 标准动态规划
#include<bits/stdc++.h>
using namespace std;

int main(){
    int M,a;
    while(cin>>M){
        vector<int> p;
        while(cin>>a){
            p.emplace_back(a);
        }

        vector<int> dp(p.size()+1,0);

        dp[0] = M;//开始的家产


        int max_ =0;
        for(int i = 1; i<= p.size();i++){
            if(i>=2&&(dp[i-2]>=3)){
                dp[i] = dp[i-2] - 3 + p[i-1];
            }

            if(i>=1&& dp[i-1]>=2){
                dp[i] = max(dp[i-1] - 2 + p[i-1],dp[i]);
            }

            max_ = max(max_,dp[i]);
        }

        cout<<max_<<endl;
        return 0;

    }

}
大厂笔试题题解 文章被收录于专栏

主要是公司笔试题得一些总结

全部评论

相关推荐

头像
10-16 09:58
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务