前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【PAT甲级】World Cup Betting

【PAT甲级】World Cup Betting

作者头像
喜欢ctrl的cxk
发布2019-11-08 14:51:17
4540
发布2019-11-08 14:51:17
举报
文章被收录于专栏:Don的成长史

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/89714801

Problem Description:

With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best players from the best teams doing battles for the World Cup trophy in South Africa. Similarly, football betting fans were putting their money where their mouths were, by laying all manner of World Cup bets.

Chinese Football Lottery provided a "Triple Winning" game. The rule of winning was simple: first select any three of the games. Then for each selected game, bet on one of the three possible results -- namely W for win, T for tie, and L for lose. There was an odd assigned to each result. The winner's odd would be the product of the three odds times 65%.

For example, 3 games' odds are given as the following:

代码语言:javascript
复制
 W    T    L
1.1  2.5  1.7
1.2  3.1  1.6
4.1  1.2  1.1

To obtain the maximum profit, one must buy W for the 3rd game, T for the 2nd game, and T for the 1st game. If each bet takes 2 yuans, then the maximum profit would be (4.1×3.1×2.5×65%−1)×2=39.31 yuans (accurate up to 2 decimal places).

Input Specification:

Each input file contains one test case. Each case contains the betting information of 3 games. Each game occupies a line with three distinct odds corresponding to W, T and L.

Output Specification:

For each test case, print in one line the best bet of each game, and the maximum profit accurate up to 2 decimal places. The characters and the number must be separated by one space.

Sample Input:

代码语言:javascript
复制
1.1 2.5 1.7
1.2 3.1 1.6
4.1 1.2 1.1

Sample Output:

代码语言:javascript
复制
T T W 39.31

解题思路:

这是一道水题啊,甲级里面真的没有比这题更简单的啦。设最大利润为sum,利用max()来无脑找出胜负平的最高赔率ans,然后输出三局比赛最高赔率对应的彩果以及最大利润sum即可。

AC代码:

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;

int main()
{
    double sum = 1;   //最大利润sum
    for(int i = 0; i < 3; i++)
    {
        double W,T,L;   //胜W,平T,负L的赔率
        cin >> W >> T >> L;
        double ans = max(max(W,T),L);   //取最高赔率
        if(ans == W)
        {
            cout << "W ";
        }
        else if(ans == T)
        {
            cout << "T ";
        }
        else
        {
            cout << "L ";
        }
        sum *= ans;
    }
    sum = (sum*0.65-1)*2;
    printf("%.2f\n",sum);
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Problem Description:
  • Input Specification:
  • Output Specification:
  • Sample Input:
  • Sample Output:
  • 解题思路:
  • AC代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档