PAT A1011 World Cup Betting (20 分)

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.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:

1.1 2.5 1.7
1.2 3.1 1.6
4.1 1.2 1.1

Sample Output:

T T W 39.31

题意:

根据给定的三组游戏的赔率求出最大收益

输入样式

W赔率 T赔率 L赔率
. . .
. . .

输出样式:

每组最大赔率对应的可能结果(W或T或L) . . (第一组最大赔率×第二组最大赔率×第三组最大赔率×65%−1)×2

思路:

(1)设定3个double型数组a,b,c,每组数组存放W,T,L的赔率,遍历寻找每组最大的赔率;
(2)设定一个字符串数组{‘W’,‘T’,‘L’}与上述数组的下标对应以便于输出.

代码:

#include <cstdio>
#include <algorithm>
using namespace std;
int main(){
	double a[3]={0.0},b[3]={0.0},c[3]={0.0},a_max=0.0,b_max=0.0,c_max=0.0;//#_max存放最大赔率 
	char str[4]={'W','T','L'};
	int a_maxi=0,b_maxi=0,c_maxi=0;//#_maxi存放最大赔率对应的下标 
	for(int i=0;i<3;i++){
		scanf("%lf",&a[i]);
		if(a_max!=max(a_max,a[i])){
			a_maxi=i;
		}
		a_max=max(a_max,a[i]);
	}
	for(int i=0;i<3;i++){
		scanf("%lf",&b[i]);
		if(b_max!=max(b_max,b[i]))
			b_maxi=i;
		b_max=max(b_max,b[i]);
	}
	for(int i=0;i<3;i++){
		scanf("%lf",&c[i]);
		if(c_max!=max(c_max,c[i]))
			c_maxi=i;
		c_max=max(c_max,c[i]);
	}
	printf("%c ",str[a_maxi]);
	printf("%c ",str[b_maxi]);
	printf("%c ",str[c_maxi]);
	printf("%.02f\n",(a_max*b_max*c_max*0.65-1)*2);
	return 0;
}

词汇:

trophy 奖杯
bet 打赌
odd 几率、赔率
sample 样例

发布了26 篇原创文章 · 获赞 0 · 访问量 490

猜你喜欢

转载自blog.csdn.net/PanYiAn9/article/details/102451021