HDU1236 排名

排名

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 15625    Accepted Submission(s): 5678

Problem Description

今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑

每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的

考生,并将他们的成绩按降序打印。

Input

测试输入包含若干场考试的信息。每场考试信息的第1行给出考生人数N ( 0 < N

< 1000 )、考题数M ( 0 < M < = 10 )、分数线(正整数)G;第2行排序给出第1题至第M题的正整数分值;以下N行,每行给出一

名考生的准考证号(长度不超过20的字符串)、该生解决的题目总数m、以及这m道题的题号

(题目号由1到M)。

当读入的考生人数为0时,输入结束,该场考试不予处理。

Output

对每场考试,首先在第1行输出不低于分数线的考生人数n,随后n行按分数从高

到低输出上线考生的考号与分数,其间用1空格分隔。若有多名考生分数相同,则按他们考

号的升序输出。

Sample Input

4 5 25
10 10 12 13 15
CS004 3 5 1 3
CS003 5 2 4 1 3 5
CS002 2 1 2
CS001 3 2 3 5
1 2 40
10 30
CS001 1 2
2 3 20
10 10 10
CS000000000000000001 0
CS000000000000000002 2 1 2
0

Sample Output

3
CS003 60
CS001 37
CS004 37
0
1
CS000000000000000002 20

Hint

Huge input, scanf is recommended.

Source

浙大计算机研究生复试上机考试-2005年

#include <stdio.h>
#include <string.h>
#include <algorithm>
using std::sort;

int prob[12];
struct Node{
    char id[30];
    int sco;
} stu[1002];

bool cmp(Node a, Node b){
    if(a.sco == b.sco) return strcmp(a.id, b.id) < 0;
    return a.sco > b.sco;
}

int main()
{
    int n, m, k, tmp, mm, tmp2, id, i;
    while(scanf("%d%d%d", &n, &m, &k) == 3){
        for(i = 1; i <= m; ++i) scanf("%d", &prob[i]);
        for(i = id = 0; i < n; ++i){
            scanf("%s%d", stu[id].id, &mm);
            tmp = 0;
            while(mm--){
                scanf("%d", &tmp2);
                tmp += prob[tmp2];
            }
            if(tmp >= k)
                stu[id++].sco = tmp;

        }
        sort(stu, stu + id, cmp);
        printf("%d\n", id);
        for(i = 0; i < id; ++i)
            printf("%s %d\n", stu[i].id, stu[i].sco);
    }
    return 0;
}
时间: 2024-10-31 18:41:22

HDU1236 排名的相关文章

HDU1236 排名 题解

Problem Description 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名.给定录取分数线,请你写程序找出最后通过分数线的 考生,并将他们的成绩按降序打印. Input 测试输入包含若干场考试的信息.每场考试信息的第1行给出考生人数N ( 0 < N < 1000 ).考题数M ( 0 < M < = 10 ).分数线(正整数)G:第2行排序给出第1题至第M题的正整数分值:以下N行,每行给出一

hdu1236 排名(结构体排序)

排名 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 18260    Accepted Submission(s): 6643 Problem Description 今天的上机考试尽管有实时的Ranklist,但上面的排名仅仅是依据完毕的题数排序,没有考虑 每题的分值.所以并非最后的排名.给定录取分数线,请你敲代码找出最后通过分数线

hdu1236

排名 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3344 Accepted Submission(s): 1069   Problem Description 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名.给定录取分数线,请你写程序找出最后通过分数线的 考生,

China Operating System 电脑操作系统 2016全球互联网排名

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 电脑操作系统 China Operating System 2016全球互联网排名 ========

2015 年度新增开源软件排名 TOP 100

收藏了,以备不时之需,选型的时候,可以优先从其中考虑了. 2015 年度新增开源软件排名 TOP 100 http://www.oschina.net/news/69808/2015-annual-ranking-top-100-new-open-source-software

QQ群排名自动吸粉,同样是玩群,为什么他们这么牛?

说到玩QQ群,我们相信每个人都会有不同的感想,那同样是玩QQ群,为什么有的人一毛钱都没捞到,有的人却可以赚得盆满钵满,其实,玩QQ群和做项目一样,其本身并无好坏,只不过是看谁来玩罢了,下面我们就举几个简单的例子来说明一下: 案例1.用QQ群玩人脉的"人脉哥" 我们和人脉哥是好朋友,他算得上是一个玩QQ群的高手,他的高明之处不在于玩QQ群的技术上,而是在于QQ群运用上; 人脉哥本身是做小儿推拿的,所以他就建了几个本地的母婴群,他建群的目的不是为了吸引那些新妈妈们入群,然后直接推销自己的产

QQ群排名优化:“小百度”大蓝海有搞头

有了人来人往,才会有利来利往.不论你操盘什么,没有流量,一切白忙.所以,网络上能挣到钱的,都是玩流量的高手. 一直以来,百度虐我们千百遍,我们都待百度如初恋.可是又怎么样呢?有些东西,不是你付出了,就能得到正比回报的.我有个朋友,玩百度优化很有自己技巧手法,可是它的一个站点今年5月份以来,一直在降权恢复降权恢复中来回倒腾,弄得身心憔悴,疲惫不堪. 我也像很多草根站长一样,也觉得累了.于是,我的目光投向了另外一片处女地--QQ群.暮然地,我发现,QQ群其实就是一个"小百度",玩转QQ群排

没有养护就没有好的排名:记录今日的失落

1.刚从大连回来,配资www.ya-jing.cn排名到11位了.究其原因:配资所属为更新关键词,内容需要经常更新.这两天停了,是很大的原因.网站好的排名,是需要养护的. 2. http://she.dlnulib.com梦见蛇 的服务器总是出现内存100%的情况. 3. http://www.dlnulib.com周公解梦 的收录情况出现了增幅,发现了论坛被软件攻击了,10g的数据量直接导致了服务器的瘫痪.从而导致了排名降落.但是侧面也说明了,现在增加内容,百度还是很友好的收录的,只不过,一定

提升网站排名以及权重的方法和思路

在站长和SEO人员心中,网站在百度搜索上的权重是从表象推测出来的.站长和SEO人员首先假定:一个网站的权重高,那么这个网站的关键词排名也会很好,那么在一些外部数据上表现就会好.然后再根据自己假定的标准去评判网站在百度搜索引擎中的权重高低.在某种程度上权重高低和网站各方面数据的好坏是充分必要条件,所以想提升网站的排名或者权重,针对网站的主要SEO数据下手,就可以了,这些数据也是很多SEO团队或部门的内部考核指标.一般认为提升网站关键词排名和权重的主要方法是建设高质量.高数量的相关链接,外链的确很大