首页 技术 正文
技术 2022年11月19日
0 收藏 764 点赞 4,670 浏览 2486 个字

PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642

题目描述:

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

译: 随着2010年国际足联世界杯的举办,世界各地的球迷都变得越来越兴奋,因为最好的球队的最好的球员正在南非为世界杯奖杯而战。同样地,足球博彩迷们也把他们的钱放在了他们的嘴边,通过各种各样的世界杯赌注。

中国足球彩票提供了“三连胜”游戏。获胜的规则很简单:首先选择三场比赛中的任何一场。然后对每一个选定的游戏,在三个可能的结果中的一个下注——即 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.1 × 3.1 × 2.5 × 65% − 1 )× 2 = 39.31 元(精确到小数点后 2 位)。


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.

译:每个输入文件包含一个测试用例,每个用例包含三个游戏的投注赔率信息。每场比赛的三个不同的赔率对应的WT 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.


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

The Idea:

一行数里面找最大数,我很懒,我喜欢 map ,利用 double 类型的赔率做 key ,char 类型的 W ,T , L , 做 value ,每次输入在 map 中插入其对应的 键值对。然后取第一个元素即可。第一个元素的 key 是需要计算的赔率,第一个元素的 value 是需要输出的 W , T , L 中的一个。每次输入之后立即输出,记得 map 需要清空。


The Codes:

#include<bits/stdc++.h>
using namespace std ;
map<double , char , greater<double> > mp ; // 按照关键字 降序 排列的 map
map<double , char , greater<double> >::iterator it ;
int main(){
double w , t , l , sum = 1.0 ;
for(int i = 0 ; i < 3 ; i ++){
mp.clear() ; // 清空 map
cin >> w >> t >> l ;
mp[w] = 'W' ;
mp[t] = 'T' ;
mp[l] = 'L' ;
it = mp.begin() ;
sum *= it -> first ; // 计算最大利润需要选择的赔率
printf("%c " , it -> second) ; // 输出本场比赛利润最大的对应的赌注
}
printf("%.2f " , sum * 1.3 - 2) ; // 计算最大利润并输出
return 0 ;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,565
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,413
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,186
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905