hdu1084
#include<iostream>
#include<algorithm>
using namespace std;
#define N 101
struct node
{
int score; //学生分数
int num; //学生做出的题目数目
char time[10]; //花费时间
} stu[N];
bool cmp(const node& a,const node& b)
{
if(a.num==b.num)
return strcmp(a.time,b.time)<0; //题目相等时,按时间从小到达排序
else
return a.num>b.num;
}
int s[6][2]={50,50,60,65,70,75,80,85,90,95,100,100};
int main()
{
int n,i,x[6],j;
char index[N][10]; //索引,方便输出时找到对应项
while(scanf("%d",&n) &&n>0)
{
for(i=1;i<=n;i++)
{
scanf("%d%s",&stu[i].num,stu[i].time);
strcpy(index[i],stu[i].time);
}
sort(stu+1,stu+n+1,cmp);
memset(x,0,sizeof(x)); //相同题目数的人数
for(i=1;i<=n;i++)
x[stu[i].num]++;
for(i=1;i<=4;i++) //排名在n/2以前的数目
if(x[i]!=1) //只有1人时也要多5分
x[i]/=2;
for(i=1;i<=n;i++)
if(x[stu[i].num]>0)
{
stu[i].score=s[stu[i].num][1];
x[stu[i].num]--;
}
else
stu[i].score=s[stu[i].num][0];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(strcmp(index[i],stu[j].time)==0)
{
printf("%d\n",stu[j].score);
break;
}
putchar('\n');
}
return 0;
}
最新文章
- SQLServer 维护脚本分享(04)服务器角色和数据库角色相关操作
- ARCGIS FOR JAVASCRIPT API 出现multipleDefine问题
- cocos2d-x 2.0 序列帧动画 深入分析
- 【转】iOS开发-Protocol协议及委托代理(Delegate)传值
- 【leetcode】Find Minimum in Rotated Sorted Array II JAVA实现
- Oracle定义两个变量,并对两个变量的值的长度进行判断
- HDU 2444 The Accomodation of Students (偶图判定,匈牙利算法)
- JavaScript中的事件冒泡机制
- ios中UIButton选中状态切换
- mysql操作之二
- AngularJS和ReactJS对比
- sql server 2008 (3)
- MYSQL 查询缓存
- QTP脚本--应用参数化来测试某个输入框
- android AIDL RPC 机制
- source.list
- JSON创建键值对(key是中文或者数字)方式详解
- Gradle、Gradle Wrapper与Android Plugin for Gradle
- Angular TypeScript开发环境集成jQuery扩展插件
- PHP常用工具类
热门文章
- alpine安装更新
- ps 切片 蓝色 灰色 小标志 什么意思
- LINQ 学习路程 -- 查询例子
- css 网站素装 追忆过去
- php/js/linux: js加密(rsa公钥加密) php解密(rsa私钥解密)
- ES索引瘦身 压缩——_source _all 均disable filed store为no,引入第三方DB存储原始数据,去掉pos倒排和doc_values,强制定期merge segments,将所有fileds合并为一个field big string
- 菜单栏(QMenuBar)与菜单(QMenu)
- Agc_006 E Rotate 3x3
- 9th
- SQL Server DBA十大必备工具使生活轻松