我是靠谱客的博主 包容小鸭子,最近开发中收集的这篇文章主要介绍枚举概率——ZOJ3356,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述:

给你S元猜足球胜平负,最坏情况下的收益。

大致思路:

枚举每一元钱,投在当前收益最低的一项,最后去收益的最小值,就是答案。

代码:

#include <iostream>

using namespace std;

const double eps =1e-5;
long long s,c[3],d[3],e[3];

int main() {
    int n;
    cin>>n;
    while (n--) {
        cin>>s;
        for (int i = 0; i < 3; i++) {
            double tmp;
            cin>>tmp;
            c[i] = (tmp + eps) * 100;
            d[i] = e[i] = 0;
        }
        long long ans = 0;
        for (int i = 1; i <= s; i++) {
            int k = 0;
            for (int j = 0; j < 3; j++) {
                if (e[j] < e[k]) k = j;
            }
            d[k]++;
            e[k] = d[k] * c[k] / 100;
            k = 0;
            for (int j = 0; j < 3; j++) {
                if (e[j] < e[k]) k = j;
            }
            ans = max(ans,e[k] - i);
        }
        cout<<s+ans<<endl;
    }
}


最后

以上就是包容小鸭子为你收集整理的枚举概率——ZOJ3356的全部内容,希望文章能够帮你解决枚举概率——ZOJ3356所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部