PTA刷题Advanced甲级——1011.World Cup Betting——Day(6)

问题描述

PTA刷题Advanced甲级——1011.World Cup Betting——Day(6)_第1张图片
题目翻译:
在2010FIFA世界杯进行时,当最好的球队中最棒的球员在为了世界杯奖杯而在南美拼搏时,来自世界各地的球迷非常激动和兴奋。同样的,爱好足球赌博的人也通过实际行动参与了进来,不过用的是各种世界杯赌博方式。
中国足球彩票推出了一个“三倍赢”游戏。胜利的规则非常简单:首先选择任意三个游戏。然后对于每个选择的游戏,赌其中三个可能的结果中的其中一个,叫W是赢,T的是平局,L是输。对于每个结果都有一个剩余的值。胜利者的剩余将会是三个剩余值的65%。
例如,3个游戏的剩余在下面给出:
W T L
1.1 2.5 1.7
1.2 3.1 1.6
4.1 1.2 1.1
要想获得最大的利润,必须在第三个游戏中买W,第二个游戏中买T,第三个游戏中买T。如果每次赌博花费2元,则最大的最大的利润将会是(4.13.02.5*65%-1)*2= 37.98元。(精确到两位小数)

输入
每个输入文件包含一个测试实例。每个实例包含三个游戏的赌博信息。每个游戏有一行,里面包含三个与W、T和L对应的剩余值。

输出
对于每个测试实例,在一行中输出每个游戏最好的赌博选择,还有精确到两位小数的最大利润。字符和数字必须用一个空格分隔。

样例输入:
1.1 2.5 1.7
1.2 3.1 1.6
4.1 1.2 1.1

样例输出:
T T W 37.31

题目分析

我们边输入边进行判断输出,选出每一行输入中最大的,如果是第一个数最大,输出W;第二个最大输出T;第三个数最大输出L。
然后按照题目中给出的公式记录最后的价格,并保留两位有效数字。

代码

#include 
#include 
using namespace std;
int main()
{
    char state[3] = {'W','T','L'};
    double bet[3][3];
    double sum = 1.0;
    for(int i = 0;i < 3;i++)
    {
        double max = 0.0;
        int pos = 0;
        for(int j = 0;j < 3;j++)
        {
            cin>>bet[i][j];
            if(bet[i][j]>max)
            {    
                max = bet[i][j];
                pos = j;
            }
        }
        sum *= max;
        cout<<state[pos]<<" ";
    }
    sum = (sum * 0.65 - 1) * 2;
    cout<<setiosflags(ios::fixed)<<setprecision(2)<<sum;
    return 0;
}

答题用时7min
Q11——finish√

你可能感兴趣的:(PTA甲级)