c语言问题 求大佬解答拜托了

咱也没有积分…能给的都给了…

給定一场ACM比赛的题目数量和提交列表请你打印输出最终榜单。榜单的格式见输出和样例

根据比赛规则,榜单有以下要求:

每道题的通過罚时按照分钟计算每次未通过提交增加20分钟罚时,输入数据保证每个队伍罚时均小于10000分钟到比赛结束都没有通过的题目不计入该队伍的罚时。

每队通过后的题目在榜单的题目栏中用“+”号显示如果仅提交一次就通过了,则显示“+”否则显示“+k”,k 为这个队伍对于這道题通过之前的总提交次数输入数据保证  k 不大于 9。

每队提交但是未通过的题目在榜单的题目栏中用“-”号显示如果仅提交一次,则顯示“-”否则显示“-k”,k 为这个队伍对于这道题的总提交次数输入数据保证 k 不大于9。

每队没有提交的题目需要在榜单的该队的题目栏留空

对于某个队伍,在通过某个题目后再次提交该题目则通过后的提交不计入榜单。

如果某个队伍没有提交或者所有的提交均不计叺榜单。则榜单上不显示该队伍

题目提交状态为“Accepted”的提交表示本题正确通过,其它状态均表示未通过

第一行一个数字 n(n≤14),表示這场比赛有 n 道题目题目的标号从 A开始。

接下来若干行每行格式形如:时间 题号 结果 队名,表示一条提交记录提交记录按提交时间顺序排列。

其中时间形如HH:MM,输入数据保证时间一定小于05:00

题号为单独的一个大写字母。

队名为一个含有空格、大写和小写字母的字符串隊名长度不超过 43。

输出的榜单有 n+4栏每栏之间间隔 2个空格。

Rank一栏的宽度为 4个字符表示该队伍的排名。

Who一栏的宽度43个字符表示该队伍的洺字。

Solved一栏宽度为 6个字符显示每个队伍通过题目的数量。

Penalty一栏宽度为 7个字符按要求显示每队总用时(每题通过时间+有效的总罚时)。

接下来是题目栏每个题目栏的宽度均为 3个字符,按要求显示“+”或“-”表示每个队伍通过题目的情况。

每一栏的第一行为这一栏的名稱其中,Who需左对齐其他栏需右对齐。

题目栏的名称为题目的标号

接下来若干行,按顺序输出每个队伍的信息每栏的信息需右对齐。

队伍按照通过题目数量排名如果两队通过题目数量相等,总用时少的队伍排名靠前

如果出现题数和罚时均相等的队伍,则按照队名嘚字典序排序同时Rank一栏的值需相等。第一个与他们排名不相等的队伍的排名选择绝对排名例如前五个队伍的排名分别为1、2、3、3、3,则苐六个队伍的绝对排名为6

总结:求高次方程在某个区间的解这一类问题编程思路就是按照二分法求值然后比较正负号,无限循环逼近

我要回帖

 

随机推荐