题目

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 代表输),每种结果都有对应的赔率;玩家最终能获得利润的所下注的三个结果的赔率的乘积x65%。

要求,输出能获得最大赔率的结果下,每一场比赛应该押 W 还是 T 还是 L,并输出所获得的最大利润。

看起来很牛逼,“世界杯”都出来了,好像还要会买股票,但其实,呵呵。。我这么给你说吧

三行输入,每一行有三个数字,选择其中最大的那个,如果它是第一个 输出 W ,如果它是第二个,输出 T, 如果他是第三个,输出 L,并保存这个最大的数。

三行输入结束后,把保存的三个最大的数做乘积,再乘以 65%,再减去1,然后给这个结果 x 2,输出。

你可能从题目中没太看出来这个利润是咋算的,但是你看它最后给你的那个例子就明白了。

the maximum profit would be (4.1×3.1×2.5×65%−1)×2=39.31 yuans (accurate up to 2 decimal places).

代码

就似乎比较大小,很容易理解,可以看一下这个char[]数组的巧妙使用。

#include <iostream>
using namespace std; int main() {
// 注意字符串结束符包含了 \0,写成c[3]会直接报错
// W 赢 T 平 L 输
char c[4] = {"WTL"};
double profit = 1.0;
// 每一行,是一个比赛三种结果的赔率
for (int i = 0; i < 3; ++i) {
double maxOdds = 0.0;
int index = 0;
for (int j = 0; j < 3; ++j) {
double temp;
cin >> temp;
// 买最大的赔率
if (temp > maxOdds) {
maxOdds = temp;
index = j;
}
}
// 最大的赔率对应的是 W / T / L
printf("%c ", c[index]);
// 利润计算公式题目给出
profit *= maxOdds;
}
// 最终利润
profit = (profit * 0.65 - 1) * 2;
printf("%.2f", profit); return 0;
}

PAT 1011 World Cup Betting (20分) 比较大小难度级别的更多相关文章

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

    PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642 题目描述: With the 2010 FIFA World Cu ...

  2. PAT Advanced 1011 World Cup Betting (20 分)

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

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

  4. 【PAT甲级】1011 World Cup Betting (20 分)

    题意: 给出三组小数,每组三个,分别代表一场比赛下注一块钱胜平负的赔率.输出投注的方案并计算投注两块钱期望收获.(赔率相乘后乘上0.65再减去本金2块钱) AAAAAccepted code: #in ...

  5. 1011 World Cup Betting (20 分)

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

  6. PAT 甲级 1011 World Cup Betting (20)(20 分)

    1011 World Cup Betting (20)(20 分)提问 With the 2010 FIFA World Cup running, football fans the world ov ...

  7. PAT 甲级 1011 World Cup Betting (20)(20 分)(水题,不用特别在乎精度)

    1011 World Cup Betting (20)(20 分) With the 2010 FIFA World Cup running, football fans the world over ...

  8. PAT 甲级 1011 World Cup Betting (20)(代码+思路)

    1011 World Cup Betting (20)(20 分) With the 2010 FIFA World Cup running, football fans the world over ...

  9. PAT甲 1011. World Cup Betting (20) 2016-09-09 23:06 18人阅读 评论(0) 收藏

    1011. World Cup Betting (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Wit ...

随机推荐

  1. Spring Cloud微服务技术概览

    Spring Cloud 是一系列框架的有序集合.它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都 ...

  2. Debugging Under Unix: gdb Tutorial (https://www.cs.cmu.edu/~gilpin/tutorial/)

    //注释掉 #include <iostream.h> //替换为 #include <iostream> using namespace std; Contents Intr ...

  3. Windows SDK 的 ctype.h 里有一些有用的函数,例如字符串的大小写转换

    #define _tolower(c) ((c) - 'A' + 'a') #define _toupper(c) ((c) - 'a' + 'A')

  4. java 8 Stream中操作类型和peek的使用

    目录 简介 中间操作和终止操作 peek 结论 java 8 Stream中操作类型和peek的使用 简介 java 8 stream作为流式操作有两种操作类型,中间操作和终止操作.这两种有什么区别呢 ...

  5. Spring Cloud 系列之 Stream 消息驱动(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Stream 消息驱动(一) 本篇文章讲解 Stream 如何实现消息分组和消息分区. 消息分组 如果有多个消息消费者 ...

  6. 标准库shelve

    shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  7. puppet报告系统Dashboard部署及配置详解

    Puppet Dasshboard是由支持Puppet开发的公司Puppetlabs创建的,是Ruby on Rails程序.可以作为一个ENC(外部节点分类器)以及一个报告工具,并且正在逐渐成为一个 ...

  8. 深度优先搜索理论基础与实践(java)

    概论 深度优先搜索属于图算法的一种,是一个针对图和树的遍历算法,英文缩写为 DFS 即 Depth First Search.深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓 ...

  9. YUM 安装lnmy

    yum -y install nginx systemctl start nginx.service yum -y install php php-fpm php-mysql php-gd libjp ...

  10. 题目分享I

    题意:2*n的地面,q次操作,每次操作将地面翻转,若该地是地面那翻转就成熔岩,如果是熔岩那翻转就成地面,熔岩人不能走,问人是否能从1,1走到2,n (ps:1,1和2,n不会在翻转的范围内,n,q≤1 ...