花了4天时间实现了刘汝佳紫书上的例题5-10,也就是UVA207,修改了5版才AC.这里把遇到的坑说一下,供后来者参考
1、业余选手只参与排名,不参与分奖金,所以哪怕一个业余选手和其他职业选手同分(从而名次相同),也不输出T
2、只有在同一个分数两名或者更多职业选手平分奖金时,这些职业选手的名次后面才输出T,算,所以对没获奖的名次,有多少人并列都不输出T,也就是输出T的条件是本名次的获奖人数>=2
3、职业选手有奖金的条件相当于先去掉所有业余选手之后重新进行排名,如果这个新排名小于等于70(包括和第70名并列的情况)就一定有奖,哪怕对应的奖金比例是0,那么奖金那一列也要输出0,否则奖金那一列无输出
4,对于没有奖金或者犯规的选手,输出完总分之后,这一行就结束了,后面不能再输出多余的空格
还要感谢http://www.cnblogs.com/MengLan/p/5360695.html的作者,这些坑是在研究了他的代码逻辑之后,和我原有的逻辑进行比对之后才发现的.
5.对名次并列的非犯规选手,按姓名排序
6.犯规选手的输出也是有顺序的: 首先轮次多的在前,其次总分低的列前,最后才按姓名排序
最后发AC代码
#if 1
#include
#include
#include
#include
#include
#include
#include
#include