对胜利学院第一届程序设计竞赛进行成绩判定是一项艰苦的工作,要面对要求严格的参赛选手,要做出乏味的决定,以及要进行单调的工作。不过,这其中也可以有很多乐趣。
对于比赛成绩的判定来说,用软件使得评测过程自动化对判定有很大的帮助,而一些比赛软件存在的不可靠性也使得我们希望比赛软件能够更好、更可用。你现在竞赛管理软件开发团队中的一员,基于模块化设计原则,你所开发模块的功能是为参加程序设计竞赛的选手计算分数并确定冠军;给出参赛选手在比赛中的情况,确定比赛的冠军。
计分规则:一个参赛选手的计分由两个部分组成。第一部分是解出的题数,第二部分是罚时,表示解题总的耗时时间和试题没有被解出前错误的提交所另加的罚时。对于每个被正确解出的试题,罚时等于该问题被解出的时间加上每次错误提交的20分钟罚时。在问题没有被解出前不加罚时。
因此,如果一名选手在比赛20分钟的时候第二次提交并解出第1题,他的总罚时是20+20=40分。如果他提交第2题3次,但没有解决这个问题,则没有罚时。如果他在120分钟提交第3题,并一次解出的话,该题的罚时是120分。这样,他的成绩是罚时160分,解决了两道试题。
冠军一定是解出最多试题的选手。如果两名选手在解题数上打成平手,那么罚时少的选手是冠军。