What Is Your Grade?
来源:互联网 发布:企业的域名 编辑:程序博客网 时间:2024/05/17 18:11
输入时记录下输入顺序先按照做对体数排序再按照时间排序求出每个人应该得到的分数再按照输入顺序排序
#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct node{ int s; char t[20]; int sco; int i;}a[111];bool cmp(node a,node b){ if(a.s!=b.s) return a.s>b.s; else return strcmp(a.t,b.t)<0;}bool cmp1(node a,node b){ return a.i<b.i;}int N;int main(){ while(scanf("%d", &N) == 1 && N > 0){ int c[6]={0}; for(int i=0;i<N;i++){ scanf("%d %s",&a[i].s,a[i].t); a[i].i=i;//记录出现次序 c[a[i].s]++; } sort(a,a+N,cmp); for(int i=1;i<5;i++){ if(c[i]==1) continue; c[i]/=2; } for(int i=0;i<N;i++){ if(a[i].s==5) a[i].sco=100; else if(a[i].s==0) a[i].sco=50; else{ int k=1; int l=a[i].s; while(a[i].s==l&&i<N){ if(k<=c[l]) a[i].sco=100-(5-l)*10+5; else a[i].sco=100-(5-l)*10; k++;i++; } i--; } }//算出每个人应该得到的分数 sort(a,a+N,cmp1); for(int i=0;i<N;i++) printf("%d\n",a[i].sco); printf("\n"); } return 0;}
1 0
- What Is Your Grade?
- What Is Your Grade?
- What Is Your Grade?
- what is your grade
- What Is Your Grade?
- What Is Your Grade?
- hdu1084(What Is Your Grade?)
- HDU1084:What Is Your Grade?
- Hdu1084 What Is Your Grade?
- HDU1084--What Is Your Grade?
- HDOJ1084 What Is Your Grade?
- hdu1084:What is your grade?
- HDU1084 What Is Your Grade?
- hd1084 What Is Your Grade?
- 十二、What Is Your Grade?
- What Is Your Grade? HDU
- hdu 1084 What Is Your Grade?
- HDU 1084 What Is Your Grade?
- 嵌入式学习--step1 新建模板
- 实战体验几种MySQLCluster方案
- 什么样的人适合当程序员?挺有意思的一篇文章
- 字符读取流缓冲区-读一行的方法readLine()
- 偶数求和 hd 2015
- What Is Your Grade?
- C语言 malloc realloc calloc
- 彻底理解PHP的SESSION机制
- Spring Test 整合 JUnit 4 使用总结
- hdu5726 GCD (线段树+区间gcd)
- 2016多校训练Abandoned country (最小生成树+期望)
- android中自定义attr,以及style杂谈
- 随机森立预测风险
- java③