这个题本来不归我讲,但我A完之后觉得太坑了,还是讲一下吧。

首先这个题有个重要的地方:(字典顺序,学号全为小写字母,从小到大排列)

字典序和字典顺序是不一样的!!!

我以为是字典序……,wa了,字典顺序就是忽略长度的字典序。

这个题值得格外写出来的只有这个地方,哦,还有一个0分,0分不计算在内,这个要注意。别的东西直接写在代码注释里吧。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
using namespace std;
long long zx=0,n,mf;
string mfsz[10005];
struct hehe
{
string s;
long long fs;
}sz[130005];
long long a[50];
int px(struct hehe a1,struct hehe a2)//真坑
{
return a1.s<a2.s;
}
int main()
{
freopen("result.in","r",stdin);
freopen("result.out","w",stdout);
scanf("%lld",&n);
for(int i=0;i<n;i++)
{
cin>>sz[i].s>>sz[i].fs;
}
sort(sz,sz+n,px);
for(int i=0;i<n;i++)
{
if(sz[i].fs==150)//如果出现了满分的大佬,当然要保存一下
{
mfsz[mf]=sz[i].s;
mf++;
}else if(sz[i].fs!=0)//他不等于0分,统计一下分数。
{
a[sz[i].fs/10]++;
}
}
cout<<"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"<<endl;
for(int i=0;i<15;i++)
{
if(i==14)//最后一个是回车,不带空格的那种。
{
cout<<a[i]<<endl;
}else
{
cout<<a[i]<<" ";
}
}
for(int i=0;i<n;i++)
{
cout<<sz[i].s<<" "<<sz[i].fs<<endl;
}
if(mf==0)//他是0,特判一下
{
cout<<0<<endl;
cout<<"No"<<endl;
return 0;
}
cout<<mf<<endl;
for(int i=0;i<mf;i++)
{
cout<<mfsz[i]<<endl;
}
return 0;
}

嗯,美好的结束了,除了那个坑都挺简单的。希望帮到了不会做的同学。

T3 成绩单 题解的更多相关文章

  1. T3 难题 题解

    小王在考试中遇到一道难题:方程 a1+a2+„„+an=m 的非负整数解有几个,请你帮他算 一下(这也可以算作他作弊吧). 输入格式 一行,两个以空格隔开的数 n,m,表示方程 a1+a2+„„+an ...

  2. 模拟7 T3 寿司题解

    题目要求可以转化成一个01串,让通过最少次数把序列变成中间是0,两端是1: 首先我们可以考虑一些性质: 最优解一定是每次操作都把0和1交换 这个很好理解,如果你交换同一种东西,跟没换一样 这个题卡就卡 ...

  3. 【HNOI2019】部分题简要题解

    题意懒得写了 LOJ Day 1 T1 鱼 个人做法比较猎奇,如果有哪位大佬会证明能分享一下的话感激不尽. 题解:枚举鱼尾和鱼身的交点D,将所有其他点按照到D的距离排序,距离相同的分一组. 感性的理解 ...

  4. Day3:T3DP T4堆排序

    QAQ因为T3的题解说的不是很清楚,但是blogs又不能按照自己想要的顺序排+略有一点强迫症 所以先挖个坑放着,过几天再补上

  5. [NOI赛前训练]——专项测试3·数学

    由于并不想写T1和T2的题解……所有只有T3的题解了. T3 由于内部题就只写题解了. 好吧,我是一点都不想写…… 说一下这zz题解哪里写错了吧…… ……不想写…… 就说一个吧…… $n-\frac{ ...

  6. 「ZJOI Day2」游记

    Day-1 晚上一直在出自己做的模拟赛的T1,真的快要死掉了. 分类讨论几十种情况. 窝还是找了Bluesky大佬一起来验题,她瞬间就A掉了这一道题目...自闭了.. 诶,我还是太弱了. 之前教练组织 ...

  7. 这是一个蒟蒻的计划……QAQ

    感觉像我这种拖拉的人很有可能是完成不了的,挂上来相当于监督我自己啦QWQ [学习计划] [√]1.去看Trie树!!!   yyb学长的blog 2.KMP还有AC自动机 先贴两个链接在这里吧:KMP ...

  8. CYJian的新春虐题赛

    题解: t1: 算了一下发现乘法也是可以莫比乌斯反演的 然后就直接对原式莫比乌斯反演了 大概加法是$\mu {(i)}*f(i)$ 乘法就是$f(i)^{\mu {(i)}}$ 然后这个算法成功达到$ ...

  9. 18年10月30日 NOIP模拟赛

    T1 jkl 题解 显然每次都取a[i]的最大值/最小值,并更新a[i]即可 用数据结构维护这一操作..得分看常数 事实上用v[i]记录权值为i的个数,然后for乱搞就可以了... 其它乱搞做法能获得 ...

随机推荐

  1. EPLAN文本输入怎么转行,路径功能文本换行方法

    EPLAN文本输入怎么转行,路径功能文本换行方法 在输入文本时,按CTRL+ENTER可以将字体换行 Ctrl+回车键

  2. fatal error C1083: Cannot open include file: '_defs.h': No such file or directory

    b-PAC SDK: https://www.baidu.com/link?url=p6FcG0fvFl6XJf9QdSFLBP16eaS03jOQsdr0zd8cYprHWwqVy5t53bzMrA ...

  3. Day7-微信小程序实战-引入iconfont(充分利用iconfont图标库的资源)

    一.引入iconfont 首先在iconfont.com中注册登陆: 点击上方[图标管理]并进入我的项目 注意:如果没有项目的话,就点击右边的来创建项目 在官网中找到想要的图标之后,以SVG的形式下载 ...

  4. 【vue】axios二次封装,更好的管理api接口和使用

    在现在的前端开发中,前后端分离开发比较主流,所以在封装方法和模块化上也是非常需要掌握的一门技巧.而axios的封装也是非常的多,下面的封装其实跟百度上搜出来的axios封装或者axios二次封装区别不 ...

  5. linux kernel update

    linux内核升级 最近HW行动,报出来的linux系统内核漏洞,环境中全部是2.6.32-431.el6.x86_64的主机,需要全部升级到754版本,这也是第一次进行内核升级操作. 先找了一台和生 ...

  6. 7-4 是否同一棵二叉搜索树 (25分) JAVA

    给定一个插入序列就可以唯一确定一棵二叉搜索树.然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到. 例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结 ...

  7. Java的前生今世

    Java作为一门编程语言,自诞生以来已经流行了20多年,在学习它之前,我们有必要先了解一下它的历史,了解它是如何一步步发展到今天这个样子. 孕育 上世纪90年代,硬件领域出现了单片式计算机系统,比如电 ...

  8. Python3-subprocess模块-子进程管理

    简单介绍 subprocess模块可以创建新的进程,执行shell命令.Python脚本等 代码示例 import subprocess # 1.执行进程,并获取返回码 return_code = s ...

  9. 图解resilience4j容错机制

    Resilience4j是一个轻量级.易于使用的容错库,其灵感来自Netflix Hystrix,但专为Java 8和函数式编程设计.轻量级,因为库只使用Vavr,它没有任何其他外部库依赖项.相比之下 ...

  10. 线性表的顺序存储和链式存储c语言实现

    一.线性表的顺序存储 typedef int ElemType;typedef struct List { ElemType *data;//动态分配 ,需要申请空间 int length; }Lis ...