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.
 
 
//很简单的一道题,主要考察结构体和比较函数的写法,但是做此题是一定要冷静,要屏住呼吸(●'◡'●)
 
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 1005 struct node
{
char name[];
int num;
int sum;
} stu[N]; bool cmp(const node &a,const node &b)
{
if(a.sum<b.sum)
return true;
if(a.sum==b.sum)
{
if(strcmp(a.name,b.name)>)
return true;
else
return false;
}
if(a.sum>b.sum)
return false;
} int main()
{
int n,m,g,k,count;
int fen[];
while(scanf("%d",&n)!=-&&n)
{
k=-;
count=;
scanf("%d%d",&m,&g);
for(int i=;i<=m;i++)
cin>>fen[i];
for(int i=;i<=n;i++)
{
int a,b;
scanf("%s%d",&stu[i].name,&a);
stu[i].sum=;
while(a--)
{
cin>>b;
stu[i].sum+=fen[b];
}
if(stu[i].sum>=g)
count++;
}
sort(stu+,stu+n+,cmp);
cout<<count<<endl;
for(int i=n;i>;i--)
{
if(stu[i].sum>=g)
printf("%s %d\n",stu[i].name,stu[i].sum);
}
}
return ;
}

HDU1236:排名的更多相关文章

  1. HDU-1236 排名

    http://acm.hdu.edu.cn/showproblem.php?pid=1236 学会怎样按字典序排序的模板. 排名 Time Limit: 2000/1000 MS (Java/Othe ...

  2. hdu1236 排名(结构体排序)

    排名 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  3. HDU1236 排名 题解

    Problem Description 今天的上机考试尽管有实时的Ranklist,但上面的排名仅仅是依据完毕的题数排序,没有考虑  每题的分值,所以并非最后的排名.给定录取分数线.请你敲代码找出最后 ...

  4. 【微信SEO】公众号也能做排名?

    [写于2016年8月] 最近,微信团队发出一则公告,开放公众号运营者一年内更改公众号名一次,这对不少名字起的奇葩名字(包括dkplus)的公众号来说是一件好事. 为什么说是好事呢?公众号名字直接关联到 ...

  5. 你真的会玩SQL吗?表表达式,排名函数

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  6. BZOJ 1862: [Zjoi2006]GameZ游戏排名系统 [treap hash]

    1862: [Zjoi2006]GameZ游戏排名系统 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1318  Solved: 498[Submit][ ...

  7. MySQL 排名统计

    select actor_id,@curr_cnt:=cnt as cnt , ,@rank) as rank, @prev_cnt:=@curr_cnt as dummy from( select ...

  8. 《社交网络》里的评分公式——ELO排名系统

    <社交网络>里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大 ...

  9. 【转】GitHub 排名前 100 的安卓、iOS项目简介

    GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...

随机推荐

  1. jfianl返回自定义的404页面

    public class MyErrorRenderFactory implements IErrorRenderFactory{ public Render getRender(int errorC ...

  2. 二十四、oracle pl/sql 变量

    一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(refer ...

  3. B/S、C/S区别

    [B/S.C/S C/S (Client/Server客户端服务器) B/S (Brower/Server浏览器服务器)  区别 1.硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环 ...

  4. Faster-R-CNN编译使用及相应问题解决

    1.首先opencv是需要安装的,我用的ubuntu14.04,opencv3.0,具体安装教程可以参考网上很多,不想多提. 2.安装几个依赖包:cython,python-opencv和easydi ...

  5. mysql允许远程连接授权方法

    mysql数据库和apache不在同一台服务器时,需要远程连接mysql,这就要对mysql进行远程连接授权,为了安全只允许某些ip可以连接: 假如你想root用户从ip 192.168.2.12连接 ...

  6. SSH综合练习-第1天

    SSH综合练习-仓库管理系统-第一天 综合练习的整体目的: 整合应用 Struts2 .Hibernate.Spring .Mysql . jQuery Ajax.java基础知识 熟悉企业SSH 基 ...

  7. html5权威指南:客户端分区响应图

    客户端分区响应图:http://www.cnblogs.com/enjoymylift/p/5984338.html

  8. PAT 团体程序设计天梯赛-练习集 L1-018. 大笨钟

    微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉.不过由于笨钟自己作息也不是很规律,所以敲钟并不定时.一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那 ...

  9. php 异步

    .post(handle,{username: username.val(),content: content.val()},function(data){ },'json');

  10. assign retain copy

    举个例子: NSString *houseOfMM = [[NSString alloc] initWithString:'装梵几的三室两厅']; 上面一段代码会执行以下两个动作:  1 在堆上分配一 ...