PGA巡回赛的奖金 PGA Tour Prize Money
题意翻译
你的任务是为PGA(美国职业高尔夫球协会)巡回赛计算奖金。巡回赛分为4轮,其中所有选手都能打前两轮(除非中途取消资格),得分相加(越少越好),前70名(包括并列)晋级(make the cut)。所有晋级选手再打两轮,前70名(包括并列)有奖金。组委会事先会公布每个名次能拿的奖金比例。例如,若冠军比例是18%,总奖金是 $1000000,则冠军奖金是$ 180000。
输入保证冠军不会并列。如果第k名有n人并列,则第k~n+k-1名的奖金比例相加后平均分给这n个人。奖金四舍五入到美分。所有业余选手不得奖金。例如,若业余选手得了第3名,则第4名会拿第3名的奖金比例。如果没取消资格的非业余选手小于70名,则剩下的奖金就不发了。
输入第一行为数据组数。每组数据前有一个空行,然后分为两部分。第一部分有71行(各有一个实数),第一行为总奖金,第i+1行为第i名的奖金比例。比例均保留4位小数,且总和为100%。第72行为选手数(最多144),然后每行一个选手,格式为:
Player name RD1 RD2 RD3 RD4
业余选手名字后会有一个“*”。犯规选手在犯规的那一轮成绩为DQ,并且后面不再有其他成绩。但是只要没犯规,即使没有晋级,也会给出4轮成绩(虽然在实际比赛中没晋级的选手只会有两个成绩)。输入保证至少有70个人晋级。
输出应包含所有晋级到后半段(make the cut)的选手。输出信息包括:选手名字、排名、各轮得分、总得分以及奖金数。没有得奖则不输出,若有奖金,即使奖金$0.00也要输出,保留两位小数)。如果此名次至少有两个人获得奖金,应在名次后面加“T”。犯规选手列在最后,总得分为DQ,名次为空。如果有并列,则先按轮数排序,然后按各轮得分之和排序,最后按名字排序。两组数据的输出之间用一个空格隔开。
Translated by @HuangBo
题目描述
[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=4&page=show_problem&problem=143
[PDF](https://uva.onlinejudge.org/external/2/p207.pdf)
![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA207/fd0a67aa626b7747066244a8f615e957bfae0c94.png)
输入输出格式
输入格式
![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA207/b50eb143d6c7d74e46aa538bde8181c99be53ac0.png)
输出格式
![](https://cdn.luogu.com.cn/upload/vjudge_pic/UVA207/f59b2b3f4c936a07cb60fcb3cfe94a460ef236f9.png)
输入输出样例
输入样例 #1
1
1000000.00
18.0000
10.8000
6.8000
4.8000
...
0.2020
0.2000
140
WALLY WEDGE
SANDY LIE
SID SHANKER*
...
JIMMY ABLE
70 70 70 70
80 DQ
90 99 62 61
69 73 80 DQ
输出样例 #1
Player Name
Place RDJ RD2 RD3 RD4 TOTAL Money Won
-----------------------------------------------------------------------
WALLY WEDGE
1
70 70 70 70 280
$180000.00
HENRY HACKER
2T
77 70 70 70 287
$ 88000.00
TOMMY TWO IRON
2T
71 72 72 72 287
$ 88000.00
BEN BIRDIE
4
70 74 72 72 288
$ 48000.00
NORMAN NIBLICK*
4
72 72 72 72 288
...
LEE THREE WINES
71
99 99 99 98 395
$ 2000.00
JOHNY MELAVO
72
99 99 99 99 396
JIMMY ABLE
69 73 80
DQ
EDDIE EAGLE
71 71
DQ