大致题意:

  • 给定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-成绩单的更多相关文章

  1. T133316 57级返校测试重测-T4-字符串的修改

    大致题意: 有一个A字符串和一个B字符串, 操作将A或A的一个后缀修改为B, 求最少的操作数. 有三个操作为: 删除: 删除掉 A 中的某一个字符. 添加: 将某一个字符添加到 A 中任意位置. 替换 ...

  2. T133309 57级返校测试重测-T2-选票统计

    大致题意: 找出个数超过n/4的数们. 基本思路: 一开始我是用map做的,然后就很玄学的TLE了. 啊,那就换个法吧. 先排个序,然后一样的数就在一起了, 再然后直接从前往后遍历一下,就能得出结果了 ...

  3. T133305 57级返校测试重测-T1-数字配对

    大致题意: 给定偶数个的数字,操作使得两两配对后的最大值最小. 基本思路: 先排序,然后设i=1,j=n(序列以下标1开始), 每次配对为a[i]+a[j],然后++i,--j. 最后找到最大的配对结 ...

  4. python pytest测试框架介绍四----pytest-html插件html带错误截图及失败重测机制

    一.html报告错误截图 这次介绍pytest第三方插件pytest-html 这里不介绍怎么使用,因为怎么使用网上已经很多了,这里给个地址给大家参考,pytest-html生成html报告 今天在这 ...

  5. 7.20试机测 T3 阶乘之和 暴力AC题解

    7.20试机测  T3 阶乘之和 暴力AC题解 题外话:此乃本蒟蒻发表的第一篇题解,大家多多关照,支持一下,谢谢 题面 3.阶乘之和(sum.pas/in/out) 问题描述: 给定一个非负整数 n, ...

  6. app测试、web测试-怎么测?

    app测试 前言 看过许多大神对APP测试的理解,博主总结了一下我们平时测试APP应该注意的一些测试点并结合大神的理解,总结出这篇文章. 一.测试周期 测试周期一般为两周,根据项目情况以及版本质量可适 ...

  7. App测试需要测什么

    App,做为当下最热的手机安装软件,无论是产品本身的设计还是性能,易用性等都是非常受考验.一个app能在用户的手机上使用,并作为一个长期用户是非常不容易的.那么,App的测试中我们到底要测试什么呢? ...

  8. Java 整体测试重点题 错题积累

    重点题    错题积累 1: 解析: %d:用来设置输出日志的日期和时间 %m:用来输出代码中指定的消息 %n:用来输出一个回车换行符 %l:用来输出日志事件的发生位置 %p:用来输出优先级 %f:用 ...

  9. csp-s模拟测试101的T3代码+注释

    因为题目过于大神所以单独拿出来说.而且既然下发std了颓代码貌似也不算可耻233 很难讲啊,所以还是写在代码注释里面吧 因为比较认真的写了不少注释,所以建议缩放到80%观看,或者拿到gedit上 1 ...

随机推荐

  1. 个人工作用SQL短句,不定时更新

    表字段操作 --一.修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 add constr ...

  2. 绕过PowerShell执行策略方法总结

    默认情况下,PowerShell配置为阻止Windows系统上执行PowerShell脚本.对于渗透测试人员,系统管理员和开发人员而言,这可能是一个障碍,但并非必须如此. 什么是PowerShell执 ...

  3. 看完这篇 HashMap,和面试官扯皮就没问题了

    HashMap 概述 如果你没有时间细抠本文,可以直接看 HashMap 概述,能让你对 HashMap 有个大致的了解. HashMap 是 Map 接口的实现,HashMap 允许空的 key-v ...

  4. TCP端口扫描类型-隐蔽扫描和僵尸扫描

    TCP扫描有三种类型:全连接扫描,隐蔽扫描,僵尸扫描.全连接扫描无须赘述. 隐蔽扫描:发送完SYN数据包以及收到SYN/ACK数据包后不再发送SCK数据包,由于没有建立完整的TCP连接,所以在目标主机 ...

  5. IOC/DI概念简述及基本应用

    早几年面试时,面试官经常问我依赖注入的概念,但有面试官自己都不是很清楚ioc和di的区别,而是草草归于一类,今天翻了翻以前写的demo,顺便把这部分概念整理出来,加深一下印象. 先科普一下,IOC是什 ...

  6. 蝙蝠算法(BA)学习笔记

    算法原理 蝙蝠能够在夜间或十分昏暗的环境中自由飞翔和准确无误地捕捉食物,是因为他们能够从喉头发出地超声脉冲回声来定位.受这一启发,Yang教授在2010年提出了蝙蝠算法(Bat Algorithm,B ...

  7. python之浅谈数据类型

    什么是数据类型 ​ 数据类型指的就是变量值的不同类型,姓名可能是一种数据类型.年龄可能是一种数据类型.爱好可能又是另一种数据类型,至于是什么数据类型我们将在下一章详细说明. 如何对数据分类 变量的是用 ...

  8. Dysregulation of Exosome Cargo by Mutant Tau Expressed in Human-induced Pluripotent Stem Cell (iPSC) Neurons Revealed by Proteomics Analyses(蛋白质组学揭示了人诱导的多能干细胞(iPSC)神经元中表达的突变Tau对外泌体的失调) 解读人:梁玉婷

    期刊名:MCP 发表时间:(2020年4月) IF:4.828 单位:Skaggs School of Pharmacy and Pharmaceutical Sciences, University ...

  9. 模型评测之IoU,mAP,ROC,AUC

    IOU 在目标检测算法中,交并比Intersection-over-Union,IoU是一个流行的评测方式,是指产生的候选框candidate bound与原标记框ground truth bound ...

  10. 关于soapui的使用

      打开SoapUI软件,点击File -->NewSoapProject 创建测试项目 输入测试项目名称,点击OK保存 在测试项目上右击选择AddWSDL 输入所需要测试的接口地址,点击ok确 ...