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 ;
}

PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642的更多相关文章

  1. PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642 题目描述: People in Mars represent the c ...

  2. PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642 题目描述: A number that will ...

  3. PAT (Advanced Level) Practice 1005 Spell It Right (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1005 Spell It Right (20 分) 凌宸1642 题目描述: Given a non-negative integer N ...

  4. PAT (Advanced Level) Practice 1001 A+B Format (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1001 A+B Format (20 分) 凌宸1642 题目描述: Calculate a+b and output the sum i ...

  5. PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) (找最值)

    With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excite ...

  6. 【PAT Advanced Level】1011. World Cup Betting (20)

    简单模拟题,遍历一遍即可.考察输入输出. #include <iostream> #include <string> #include <stdio.h> #inc ...

  7. PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) (进制转换,回文数)

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  8. PAT (Advanced Level) Practice 1027 Colors in Mars (20 分)

    People in Mars represent the colors in their computers in a similar way as the Earth people. That is ...

  9. PAT (Advanced Level) Practice 1054 The Dominant Color (20 分)

    Behind the scenes in the computer's memory, color is always talked about as a series of 24 bits of i ...

随机推荐

  1. js type automatic conversion

    js type automatic conversion String & Number `255` < 16; false `15` < 16; true `25` < 1 ...

  2. Interview of Chinese IT companies Ratings and Reviews website/app

    Interview of Chinese IT companies Ratings and Reviews website/app // js hack const getShitRank = (st ...

  3. bob and brad physical therapy knee exercise

    bob and brad physical therapy knee exercise 鲍勃和布拉德物理治疗膝关节运动 https://bobandbrad.com/ youtube https:// ...

  4. js & touch & pull down & load more

    js & touch & pull down & load more https://www.jianshu.com/p/93597d6bd77d index-list htt ...

  5. 【不在混淆的C】指针函数、函数指针、回调函数

    一.指针函数 函数的返回值是指针类型. int* fun(int a,int b); 指针函数使用: 返回字符串 这里要注意,"1234567890abc"是字符串常量,*p指向的 ...

  6. SpringBoot源码解析

    1.@SpringBootApplication springboot采用注解方式开发的,当创建了一个springboot项目时,在启动类上会有一个注解@SpringBootApplication,这 ...

  7. std和stl的关系

    [前言]在写程序时,虽然一直这么用,有点疑惑为甚么引入了头文件.h还要在加上using namespace std?例如: 1 #include<iostream> 2 using nam ...

  8. Linux基本命令——系统管理和磁盘管理

    转: Linux基本命令--系统管理和磁盘管理 Linux命令--系统管理和磁盘管理 一.系统管理 1.1 时间相关指令 <1> 查看当前日历: cal <2> 显示或设置时间 ...

  9. Java 虚拟机详解

    深入理解JVM 1   Java技术与Java虚拟机 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言.Java类文件格式.Java虚 ...

  10. IDEA中便捷内存数据库H2的最简使用方式

    在IDEA中有时候为了练习,需要使用到数据库,但如果自己工作或开发机子上本来没有安装数据库,也没有可用的远程数据库时,我们可以直接在IDEA环境上使用便捷式的内存数据库H2,关于H2更多知识就自己去找 ...