T133308 57级返校测试重测-T3-成绩单
大致题意:
- 给定n个学生的学号和分数,
- 求各个分数段的人数,
- 求把学号排序后的序列,
- 求满分的人数以及学号。
基本思路:
- 虽然看起来很繁琐(?),但就非常非常的简单,直接按题意做就好了。
- 然后有个坑,这是\(\color{#FF3030}{字典顺序}\),不是\(\color{#0000FF}{字典序}\)QAQ。
- 字典顺序是个什么东东呢?嗯..就是排序不看长度,只看每个字母在字母表上的位置。
- 然后就和字典序不一样,嗯,然后我一开始就wa了。/kk
Code:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <list>
using namespace std;
#define R read()
#define GC getchar()
#define ll long long
#define ull unsigned long long
#define INF 0x7fffffff
#define LLINF 0x7fffffffffffffff
ll read(){
ll s=0,f=1;
char c=GC;
while(c<'0'||c>'9'){if(c=='-')f=-f;c=GC;}
while(c>='0'&&c<='9'){s=s*10+c-'0';c=GC;}
return s*f;
}
struct node{
string id;
int s;
}p[130010];
int n;
int book[20],goods;
string goodBook[130010];
bool cmp(node x,node y){
return x.id<y.id;
}
bool cmp_str(string x,string y){
return x<y;
}
int main(){
cin>>n;
for(int i=1;i<=n;++i){//输入,以及记录各个分数段的人数
cin>>p[i].id>>p[i].s;
if(p[i].s>=1&&p[i].s<=9)++book[1];
else if(p[i].s>=10&&p[i].s<=19)++book[2];
else if(p[i].s>=20&&p[i].s<=29)++book[3];
else if(p[i].s>=30&&p[i].s<=39)++book[4];
else if(p[i].s>=40&&p[i].s<=49)++book[5];
else if(p[i].s>=50&&p[i].s<=59)++book[6];
else if(p[i].s>=60&&p[i].s<=69)++book[7];
else if(p[i].s>=70&&p[i].s<=79)++book[8];
else if(p[i].s>=80&&p[i].s<=89)++book[9];
else if(p[i].s>=90&&p[i].s<=99)++book[10];
else if(p[i].s>=100&&p[i].s<=109)++book[11];
else if(p[i].s>=110&&p[i].s<=119)++book[12];
else if(p[i].s>=120&&p[i].s<=129)++book[13];
else if(p[i].s>=130&&p[i].s<=139)++book[14];
else if(p[i].s>=140&&p[i].s<=149)++book[15];
else if(p[i].s==150)goodBook[++goods]=p[i].id;
}
printf("1~9 10~19 20~29 30~39 40~49 50~59 60~69 70~79 80~89 90~99 100~109 110~119 120~129 130~139 140~149\n");
for(int i=1;i<=15;++i){//输出各个分数段的人数
printf("%d ",book[i]);
}
printf("\n");
sort(p+1,p+n+1,cmp);//排序
for(int i=1;i<=n;++i){
cout<<p[i].id<<" "<<p[i].s<<"\n";
}
printf("%d\n",goods);//输出满分人数以及满分的学号
if(goods==0){
printf("No\n");
return 0;
}
sort(goodBook+1,goodBook+goods+1,cmp_str);
for(int i=1;i<=goods;++i){
cout<<goodBook[i]<<"\n";
}
return 0;
}
T133308 57级返校测试重测-T3-成绩单的更多相关文章
- T133316 57级返校测试重测-T4-字符串的修改
大致题意: 有一个A字符串和一个B字符串, 操作将A或A的一个后缀修改为B, 求最少的操作数. 有三个操作为: 删除: 删除掉 A 中的某一个字符. 添加: 将某一个字符添加到 A 中任意位置. 替换 ...
- T133309 57级返校测试重测-T2-选票统计
大致题意: 找出个数超过n/4的数们. 基本思路: 一开始我是用map做的,然后就很玄学的TLE了. 啊,那就换个法吧. 先排个序,然后一样的数就在一起了, 再然后直接从前往后遍历一下,就能得出结果了 ...
- T133305 57级返校测试重测-T1-数字配对
大致题意: 给定偶数个的数字,操作使得两两配对后的最大值最小. 基本思路: 先排序,然后设i=1,j=n(序列以下标1开始), 每次配对为a[i]+a[j],然后++i,--j. 最后找到最大的配对结 ...
- python pytest测试框架介绍四----pytest-html插件html带错误截图及失败重测机制
一.html报告错误截图 这次介绍pytest第三方插件pytest-html 这里不介绍怎么使用,因为怎么使用网上已经很多了,这里给个地址给大家参考,pytest-html生成html报告 今天在这 ...
- 7.20试机测 T3 阶乘之和 暴力AC题解
7.20试机测 T3 阶乘之和 暴力AC题解 题外话:此乃本蒟蒻发表的第一篇题解,大家多多关照,支持一下,谢谢 题面 3.阶乘之和(sum.pas/in/out) 问题描述: 给定一个非负整数 n, ...
- app测试、web测试-怎么测?
app测试 前言 看过许多大神对APP测试的理解,博主总结了一下我们平时测试APP应该注意的一些测试点并结合大神的理解,总结出这篇文章. 一.测试周期 测试周期一般为两周,根据项目情况以及版本质量可适 ...
- App测试需要测什么
App,做为当下最热的手机安装软件,无论是产品本身的设计还是性能,易用性等都是非常受考验.一个app能在用户的手机上使用,并作为一个长期用户是非常不容易的.那么,App的测试中我们到底要测试什么呢? ...
- Java 整体测试重点题 错题积累
重点题 错题积累 1: 解析: %d:用来设置输出日志的日期和时间 %m:用来输出代码中指定的消息 %n:用来输出一个回车换行符 %l:用来输出日志事件的发生位置 %p:用来输出优先级 %f:用 ...
- csp-s模拟测试101的T3代码+注释
因为题目过于大神所以单独拿出来说.而且既然下发std了颓代码貌似也不算可耻233 很难讲啊,所以还是写在代码注释里面吧 因为比较认真的写了不少注释,所以建议缩放到80%观看,或者拿到gedit上 1 ...
随机推荐
- 如何在VMware虚拟机中安装CentOS6.7系统(上篇)
之前给大家分享了在VMware中如何创建CentOS虚拟机,今天给大家分享一下如何在虚拟机中安装CentOS系统,以CentOS6.7系统为例,其他的系统版本也可以参考该教程进行类似处理,具体的流程如 ...
- rust 代码生成选项
Available codegen options: -C ar=val -- this option is deprecated and does nothing -C linker=val -- ...
- cb32a_c++_STL_算法_查找算法_(5)adjacent_find
cb32a_c++_STL_算法_查找算法_(5)adjacent_findadjacent_find(b,e),b,begin(),e,end()adjacent_find(b,e,p),p-par ...
- Java学习笔记5(API)
Java API API(Application Programming Interface)指的是应用程序编程接口. String类 String初始化有两种,一个是使用字符串常量初始化一个Stri ...
- LeetCode 79,这道走迷宫问题为什么不能用宽搜呢?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第48篇文章,我们一起来看看LeetCode当中的第79题,搜索单词(Word Search). 这一题官方给的难 ...
- 【DP-动态代理】JDK&Cglib
需求:增强未知方法的代码 简单方案:继承或者聚合 继承,调用方法前后加增强逻辑 聚合 - 静态代理 持有被代理类对象 或者接口 可通过嵌套实现代理的组合 和 装饰器模式很像 高级方案 代理所有的类,不 ...
- Spark学习笔记(三)-Spark Streaming
Spark Streaming支持实时数据流的可扩展(scalable).高吞吐(high-throughput).容错(fault-tolerant)的流处理(stream processing). ...
- Flask03-Form
## Web 表单 配置 为了能够处理 web 表单,我们将使用 Flask-WTF ,该扩展封装了 WTForms 并且恰当地集成进 Flask 中. 许多 Flask 扩展需要大量的配置,因此我们 ...
- 前端开发神器Charles从入门到卸载
前言 本文将带大家学习使用前端开发神器-charles,从基本的下载安装到常见配置使用,为大家一一讲解. 一.花式夸奖Charles 截取 Http 和 Https 网络封包. 支持重发网络请求,方便 ...
- dart快速入门教程 (3)
3.运算符 运算符本质上就是代表某运算规则的符号,例如: + ,这个符号,代表着数学运算里面的加法,按照加法法则进行运算即可,同理,学习运算符就是掌握这些规则而已 3.1.算术运算符 算术运算符主要包 ...