PAT-ADVANCED1011——World Cup Betting

我的PAT-ADVANCED代码仓:https://github.com/617076674/PAT-ADVANCED

原题链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805504927186944

题目描述:

题目翻译:

1011 世界杯打赌

随着2010年FIFA世界杯的举办,世界各地的足球迷越来越兴奋,因为来自顶级球队的顶级球员们在南非争夺世界杯奖杯。同样,足球博彩迷通过各种世界杯投注钱。

中国足球彩票提供了“三赢”游戏。获胜的规则很简单:首先选择任意三场比赛。然后对于每个选定的游戏,下注三个可能的结果之一——即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

要获得最大利润,必须购买第3场比赛的W,第2场比赛的T和第1场比赛的T。如果每次下注2元,则最大利润为(4.1 × 3.1 × 2.5 × 65% - 1) × 2 = 39.31元(精确到2位小数)。

输入格式:

每个输入文件包含一个测试用例。每个案例包含3场比赛的投注信息。每场比赛占据一行,其中三个不同的赔率对应于W,T和L。

输出格式:

对每个测试用例,在一行中打印每个游戏的最佳赌注,最大利润精确到小数点后2位。字符和数字必须用一个空格分隔。

输入样例:

1.1 2.5 1.7
1.2 3.1 1.6
4.1 1.2 1.1

输出样例:

T T W 39.31

知识点:求最值

思路:求每行的最大值

时间复杂度和空间复杂度的分析对本题来说意义不大。

C++代码:

#include<iostream>

using namespace std;

int main(){
	char result[3] = {'W', 'T', 'L'};
	double max, num;
	int index;
	double profit = 1.0;
	for(int i = 0; i < 3; i++){
		max = 0.0;
		index = -1;
		for(int j = 0; j < 3; j++){
			scanf("%lf", &num);
			if(num > max){
				max = num;
				index = j;
			}
		}
		printf("%c ", result[index]);
		profit *= max;
	}
	printf("%.2f\n", (profit * 0.65 - 1) * 2);
} 

C++解题报告:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值