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 这题要求错误的方式有多少种,就是一个错排公式,记得公式就行 ...
随机推荐
- AnyImgUpload
@{ ViewBag.Title = "ImgForAny"; Layout = null; } <h2>ImgForAny</h2> <script ...
- h5手机页面禁止缩放
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable= ...
- List提取相同元素
List<int> currentList = Cls_Data.SoruceDataIntses[key]; preList = currentList.Intersect(preLis ...
- CSS样式表基础
CSS的样式表其实就是美观页面的,加一些样式. 一.样式表的三种分类: ①内联样式:写在某一个标签里面的样式. 优点:控制精确. 缺点:代码重用性差.(太多了不好写)页面代码乱.(太乱,后期不方便看) ...
- Tensorflow- tensor的列操作
几个point [:,i]类似python直接的index 列操作是可行的, 注意i不能是variable,如果是使用slice slice操作会保持和输入tensor一样的shape 返回 而1对应 ...
- 体验Visual Studio 2015 之 MVC - 视图组建
VS2015 PERVIEW中可以创建MVC 项目. 我们可以 发现有几大亮点. 首先我们看目录结构: 当前项目包含两个主要的文件夹:Solution Items .src 很明显src文件夹下为当前 ...
- LWIP总结
介绍 Lwip,light weight IP:是由Adam Dunkels 开发的一个小型开源的TCP/IP协议栈:目前已经为全球共同开发的开源协议:支持TCPIP协议族的核心协议:包括:ARP/I ...
- collection of vim vim tutorial for beginner
在linux命令行下编辑文档 http://blog.csdn.net/niushuai666/article/details/7275406 http://linuxconfig.org/vim-t ...
- 基于.NET平台常用的框架整理
自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...
- brew管理node的版本
摘要 nvm可以.brew怎么去切换不同的node版本 转载请注明出处:http://my.oschina.net/uniquejava/blog/491030 brew详解:http://stack ...