#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;
}

最新文章

  1. SQLServer 维护脚本分享(04)服务器角色和数据库角色相关操作
  2. ARCGIS FOR JAVASCRIPT API 出现multipleDefine问题
  3. cocos2d-x 2.0 序列帧动画 深入分析
  4. 【转】iOS开发-Protocol协议及委托代理(Delegate)传值
  5. 【leetcode】Find Minimum in Rotated Sorted Array II JAVA实现
  6. Oracle定义两个变量,并对两个变量的值的长度进行判断
  7. HDU 2444 The Accomodation of Students (偶图判定,匈牙利算法)
  8. JavaScript中的事件冒泡机制
  9. ios中UIButton选中状态切换
  10. mysql操作之二
  11. AngularJS和ReactJS对比
  12. sql server 2008 (3)
  13. MYSQL 查询缓存
  14. QTP脚本--应用参数化来测试某个输入框
  15. android AIDL RPC 机制
  16. source.list
  17. JSON创建键值对(key是中文或者数字)方式详解
  18. Gradle、Gradle Wrapper与Android Plugin for Gradle
  19. Angular TypeScript开发环境集成jQuery扩展插件
  20. PHP常用工具类

热门文章

  1. alpine安装更新
  2. ps 切片 蓝色 灰色 小标志 什么意思
  3. LINQ 学习路程 -- 查询例子
  4. css 网站素装 追忆过去
  5. php/js/linux: js加密(rsa公钥加密) php解密(rsa私钥解密)
  6. ES索引瘦身 压缩——_source _all 均disable filed store为no,引入第三方DB存储原始数据,去掉pos倒排和doc_values,强制定期merge segments,将所有fileds合并为一个field big string
  7. 菜单栏(QMenuBar)与菜单(QMenu)
  8. Agc_006 E Rotate 3x3
  9. 9th
  10. SQL Server DBA十大必备工具使生活轻松