PAT-ADVANCED1011——World Cup Betting

版权声明:我的GitHub:https://github.com/617076674。真诚求星! https://blog.csdn.net/qq_41231926/article/details/83932690

我的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++解题报告:

猜你喜欢

转载自blog.csdn.net/qq_41231926/article/details/83932690
今日推荐