A1011.World Cup Betting(20)

本文介绍了一个简单的投注策略,用于最大化中国足球彩票“Triple Winning”游戏的收益。通过选择每场比赛中最高的赔率并计算最终利润,文章提供了一个具体的示例,并附带了解决方案的源代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述:

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:

 W    T    L
1.1  2.5  1.7
1.2  3.0  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.0*2.5*65%-1)*2 = 37.98 yuans (accurate up to 2 decimal places).

输入格式:

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.

输出格式:

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.

输入样例:

1.1 2.5 1.7
1.2 3.0 1.6
4.1 1.2 1.1

输出样例:

T T W 37.98

题目翻译:


简单的说就是一个选择最大数与计算乘积的过程 

给出三行数据分别代表赢 平 输之后的赔率

你需要从每行中选出这一行中最大的数

并记录它是W 还是T 还是L

然后把这三个最大的数相乘再乘0.65

然后减去1 总结果乘2

结果保留2位小数


思路分析:

这道题比较简单 没什么分析的地方 按照顺序做下来就行

因为确定了只进行3次3个数的比较

所以直接用了三个for循环 代码有点难看~


AC代码:


#include<stdio.h>
int main()
{
    float temp=0.0;
    float max=0.0;
    float sum=0.0;
    char WTL[3]={'W','T','L'};
    char res[3];
    int count=-1;
    for(int i=0;i<3;i++)
    {
        scanf("%f",&temp);
        if(temp>max)
        {
            max=temp;
            count++;
        }
    }
    res[0]=WTL[count];
    sum=max;
    max=0.0;
    count=-1;
    for(int i=0;i<3;i++)
    {
        scanf("%f",&temp);
        if(temp>max)
        {
            max=temp;
            count++;
        }
    }
    res[1]=WTL[count];
     sum=max*sum;
    max=0.0;
    count=-1;
    for(int i=0;i<3;i++)
    {
        scanf("%f",&temp);
        if(temp>max)
        {
            max=temp;
            count++;
        }
    }
   res[2]=WTL[count];
     sum=max*sum;
     sum=sum*0.65-1;
     sum=sum*2;
     printf("%c %c %c ",res[0],res[1],res[2]);
    printf("%.2f",sum);
    return 0;
}

注意点:

最后要输出每一次选择了哪一个情况(W T L)

可以用字符数组存储这个选择

也可以用if else来做

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值