题目链接:https://vjudge.net/contest/126708#problem/E

题意:给做出的题目个数,5个的100分,4个的前n/2的同学95,后n/2的90  后面一次类推,没做出来的全是50分  这个题只要模拟下就好了  先按题目个数拍好序 得到每个题目做出的人数,在打分,最后在按原来的顺序排序  ,在一次输出他们所得的分数;按原来的顺序排序可以先给每个要个变量记住他们的顺序,在排序就好

AC代码:

 #include <iostream>
#include<algorithm>
#include <string>
using namespace std;
struct Student
{
int garde;
string time;
int shunxu;
int fenshu;
};
bool cmp1(Student a,Student b) //按原顺序排序的比较函数
{
return a.shunxu<b.shunxu;
}
bool cmp(Student a,Student b) //按题目个数排序的比较函数
{
if(a.garde == b.garde)
{
return a.time < b.time;
}
else return a.garde < b.garde;
}
int main()
{
int t,t1,t2,t3,t4,l1,l2,l3,l4;
while(cin>>t)
{
if(t==-) break;
Student a[];
t1 = ;
t2= ;
t3=;
t4=;
for(int i = ; i < t; i ++)
{
cin>>a[i].garde>>a[i].time;
a[i].shunxu = i;
if(a[i].garde == ) t1 ++; //统计各个题目的人数
if(a[i].garde == ) t2 ++;
if(a[i].garde == ) t3 ++;
if(a[i].garde == ) t4 ++;
}
sort(a,a+t,cmp);
t1 = t1/;
t2=t2/;
t3=t3/;
t4=t4/;
l1=;
l2=;
l3=;
l4=;
for(int i =; i < t; i++) //给每个按照打分制度同学打分
{
if(a[i].garde == )
{
if(l1<=t1)
{
a[i].fenshu = ;
l1++;
}
else a[i].fenshu = ;
}
if(a[i].garde == )
{
if(l2<=t2)
{
a[i].fenshu = ;
l2++;
}
else a[i].fenshu = ;
}
if(a[i].garde == )
{
if(l3<=t3)
{
a[i].fenshu = ;
l3++;
}
else a[i].fenshu = ;
}
if(a[i].garde == )
{
if(l4<=t4)
{
a[i].fenshu = ;
l4++;
}
else a[i].fenshu = ;
}
if(a[i].garde == ) a[i].fenshu = ;
if(a[i].garde == ) a[i].fenshu = ;
}
sort(a,a+t,cmp1); //按原序拍好序 在依次输出分数
for(int i = ; i <t; i++)
cout<<a[i].fenshu<<endl;
cout<<endl;
}
return ;
}

2016huasacm暑假集训训练五 E - What Is Your Grade?的更多相关文章

  1. 2016huasacm暑假集训训练五 H - Coins

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/H 题意:A有一大堆的硬币,他觉得太重了,想花掉硬币去坐的士:的士司机可以不找零,但 ...

  2. 2016huasacm暑假集训训练五 J - Max Sum

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/J 题意:求一段子的连续最大和,只要每个数都大于0 那么就会一直增加,所以只要和0 ...

  3. 2016huasacm暑假集训训练五 G - 湫湫系列故事——减肥记I

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/G 这是一个01背包的模板题 AC代码: #include<stdio.h&g ...

  4. 2016huasacm暑假集训训练五 F - Monkey Banana Problem

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/F 题意:求至上而下一条路径的所经过的值得和最大值,这题比赛时就出了 但当时看不懂题 ...

  5. 2016huasacm暑假集训训练五 C-Common Subsequence

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/C 题意:这是一道求字符串的公共子串的最大长度的题目,用dp动态方程即可 if(a[ ...

  6. 2016huasacm暑假集训训练四 DP_B

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/M 题意:有N件物品和一个容量为V的背包.第i件物品的费用是体积c[i],价值是w[ ...

  7. 2016huasacm暑假集训训练四 数论_B

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/G 题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m ...

  8. 2016huasacm暑假集训训练四 数论_A

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/F 题意:狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜 ...

  9. 2016huasacm暑假集训训练四 _排列

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/D 这题要求错误的方式有多少种,就是一个错排公式,记得公式就行            ...

随机推荐

  1. git 发布命令

    git add . git commit -m "备注" git push -u origin master

  2. 读取Simulink中Dataset类型的数据

    http://files.cnblogs.com/files/pursuiting/%E5%80%92%E7%AB%8B%E6%91%86%E6%8E%A7%E5%88%B6%E7%B3%BB%E7% ...

  3. 升级python

    一开始有这个需求,是因为用 YaH3C 替代 iNode 进行校园网认证时,一直编译错误,提示找不到 Python 的某个模块,百度了一下,此模块是在 Python2.7 以上才有的,但是系统的自带的 ...

  4. android 实现返回键执行home键方法

    在公司的产品开发,中老板很是执着于,不要看到启动界面,但是又不想去掉启动界面. so 实现返回键执行home键方法. public boolean onKeyDown(int keyCode, Key ...

  5. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

  6. 解决apache 443端口被占用

    检测 错误 httpd.exe -w -n "apache" -k start , 进入Apache的安装目录, 搜索httpd-ssl.conf,httpd-ahssl.conf ...

  7. 【Android】一种提高Android应用进程存活率新方法

    [Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...

  8. Android 如何判断一个应用在运行(转)

    Android 如何判断一个应用在运行  在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManag ...

  9. windows下mysql客户端输入中文显示??解决方法

    >>>>>>>>>>>>>>>>>>>> 1.检查并修改mysql的my.ini ...

  10. 华为荣耀6 H60-L02/L12(联通版)救砖包【适用于无限重启】

    本帖最后由 HOT米粒 于 2014-11-16 20:43 编辑 华为荣耀6 H60-L02/L12(联通版)救砖包[适用于无限重启]说明: 1.本工具包用于华为荣耀6 H60-L02(联通版): ...