题目链接: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. 结合实例详细介绍encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()使用方法

    在介绍encodeURI().encodeURIComponent().decodeURI().decodeURIComponent()方法前我们需要了解Global对象的概念:   Global(全 ...

  2. Qt5.5.1编译出来的程序出现libgcc_s_dw2-1.dll的解决方案

    问题如图: 输入"myudp2016.exe 1  " 后出现 这是因为没有在系统环境变量path里加上相关路径,我们添加如下路径: 比如说WIN7系统-开始-计算机-右键-属性- ...

  3. KNN识别图像上的数字及python实现

    领导让我每天手工录入BI系统中的数据并判断数据是否存在异常,若有异常点,则检测是系统问题还是业务问题.为了解放双手,我决定写个程序完成每天录入管理驾驶舱数据的任务.首先用按键精灵录了一套脚本把系统中的 ...

  4. python windows时间同步工具

    由于某种原因(BIOS电池没电),电脑的系统时间会与我们的北京时间不同步,将会导致如下问题: 1. 抢火车票的时候已经过时间了 2.别的同事都走了,你还以为没下班 …… 规避问题的方法:同步系统时间 ...

  5. Web Service 的创建简单编码、发布和部署

    最近,老大准备将已有的C/S架构项目中的通信部分做成通用,需要将其支持WebService为以后项目向着B/S架构升级做好铺垫,为此身为屌丝的我去各种百度WebService是个什么卵玩意,然后逐渐搭 ...

  6. 【leetcode】Number of 1 Bits

    题目描述: Write a function that takes an unsigned integer and returns the number of '1' bits it has (als ...

  7. Asp.Net中使用OpenRowSet操作Excel表,导入Sql Server(实例)

    有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎). Jet 引擎大家都很熟悉,可 ...

  8. 【Gson】互相转化

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. 对象转为字符串 Strin ...

  9. ssh 使用

    svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解 注意:本篇以后设涉及到的@后面 ...

  10. c程序对于文件的处理

    C 文件读写 上一章我们讲解了 C 语言处理的标准输入和输出设备.本章我们将介绍 C 程序员如何创建.打开.关闭文本文件或二进制文件. 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节 ...