2016huasacm暑假集训训练五 E - What Is Your Grade?
题目链接: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?的更多相关文章
- 2016huasacm暑假集训训练五 H - Coins
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/H 题意:A有一大堆的硬币,他觉得太重了,想花掉硬币去坐的士:的士司机可以不找零,但 ...
- 2016huasacm暑假集训训练五 J - Max Sum
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/J 题意:求一段子的连续最大和,只要每个数都大于0 那么就会一直增加,所以只要和0 ...
- 2016huasacm暑假集训训练五 G - 湫湫系列故事——减肥记I
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/G 这是一个01背包的模板题 AC代码: #include<stdio.h&g ...
- 2016huasacm暑假集训训练五 F - Monkey Banana Problem
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/F 题意:求至上而下一条路径的所经过的值得和最大值,这题比赛时就出了 但当时看不懂题 ...
- 2016huasacm暑假集训训练五 C-Common Subsequence
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/C 题意:这是一道求字符串的公共子串的最大长度的题目,用dp动态方程即可 if(a[ ...
- 2016huasacm暑假集训训练四 DP_B
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/M 题意:有N件物品和一个容量为V的背包.第i件物品的费用是体积c[i],价值是w[ ...
- 2016huasacm暑假集训训练四 数论_B
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/G 题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m ...
- 2016huasacm暑假集训训练四 数论_A
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/F 题意:狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜 ...
- 2016huasacm暑假集训训练四 _排列
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/D 这题要求错误的方式有多少种,就是一个错排公式,记得公式就行 ...
随机推荐
- Web服务器与数据库服务器分离 导入 Excel数据至数据库
一般情况一般项目WEB服务器与数据库均部署在一台服务器,文件上传,数据导入在一台服务器完成.web服务器与数据库服务器分离,文件上传与数据导入将分布在两台服务器或多台服务器之间.本案例为两台服务器,具 ...
- Ubuntu16.04安装有道词典
1.首先需要安装依赖包gstreamer0.10-plugins-ugly_0.10.19-2.1_amd64.deb,但是该依赖包 仍有两个依赖包需要提前安装,这三个依赖包都可以从这里下载 下载之后 ...
- ajax用get刷新页面元素在IE下无效解决~~
总结一下解决办法: 在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱,[即get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端 ...
- Java笔记:异常
Exception 类的层次 所有的异常类是从 java.lang.Exception 类继承的子类. Exception 类是 Throwable 类的子类.除了Exception类外,Throwa ...
- C语言 指针小结
指针 -->指针变量 类型名 *变量名 int *point1; char *point2; 注意:*p可以直接使用,它代表指针p指向的变量,*p可以当做被指向的变量使用!~~~~ 一个变量的地 ...
- [笔记]linux下环境变量配置字段
一般修改/etc/profile文件 java: export JAVA_HOME=/usr/lib/java/jdk1.8.0_92export CLASSPATH=.:$JAVA_HOME/lib ...
- 马氏距离(Mahalanobis distance)
马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离.它是一种有效的计算两个未知样本集的相似度的方法.与欧 ...
- JavaScript代码优化指南
1. 将脚本放在页面的底部 <script src="./jquery.min.js"></script> <script src="./i ...
- linux环境中使用转义字符使命令行字符颜色高亮
而通过转义序列设置终端显示属性的格式为: \033[Param {;Param;...}m 其中转义序列以 \033[ 为开头,m 为设置属性结束,中间部分的 Param 为属性值,{} 表示可以设置 ...
- MIT 6.828 JOS学习笔记13 Exercise 1.10
Lab 1 Exercise 10 为了能够更好的了解在x86上的C程序调用过程的细节,我们首先找到在obj/kern/kern.asm中test_backtrace子程序的地址, 设置断点,并且探讨 ...