#2206. 徐老师的初赛登记系统

徐老师的初赛登记系统

题目描述

马上就要初赛啦!

徐老师在每年初赛结束以后要登记一下学员们的成绩信息,以前都是徐老师自己拿一个小本本用来记录信息

但是徐老师思考了一下,自己作为一个信息学竞赛教练,居然用小本本记录信息!真是太不符合身份了,于是他决定开发一个初赛登记系统

在这个系统中,徐老师构思了 5 个需求:

  1. 添加一个新的同学成绩,成绩由三部分组成:姓名(一个仅包含字母的字符串),准考证号(一个整数),初赛成绩(一个整数)
  2. 用同学的姓名查询成绩
  3. 用同学的准考证号查询成绩
  4. 列出现在系统中所有同学的信息,按照准考证号从小到大排序
  5. 删除某个准考证号对应的同学信息

现在徐老师发现自己并不会做这个系统,于是他希望你帮他实现这个需求

然后徐老师会对你的系统进行 nn 次操作进行测试

输入格式

输入第一行包含一个正整数 nn 表示徐老师进行的测试操作数

接下来 nn 行,每行第一个整数 opop 表示操作编号,一共有五种格式,依次对应徐老师提出的五个需求

1 name id score
2 name
3 id
4
5 id

其中保证 namename 的是一个仅包含字母的字符串,ididscorescore 一定为整数

输出格式

  • 对于 11 号操作,无任何输出
  • 对于 22 号操作,如果同学存在,则依次输出同学的姓名,准考证号,初赛成绩(中间用空格隔开),如果同学不存在,则输出 Error!
  • 对于 33 号操作,如果同学存在,则依次输出同学的姓名,准考证号,初赛成绩(中间用空格隔开),如果同学不存在,则输出 Error!
  • 对于 44 号操作,输出系统内所有同学的信息,根据准考证号 从小到大 排序,每行输出一名同学的信息,顺序为:姓名,准考证号,初赛成绩;如果此时系统内没有同学信息,则输出 Empty!
  • 对于 55 号操作,如果同学存在,则在系统中删除该同学并输出 Ok!,否则输出 No student!

数据范围

测试点 nn\leq 性质
1 1010 op = 1op = 2
2 op = 1op = 3
3 2020 op = 1op = 4
4 op = 1op = 5
5 100100 op = 1op = 2op = 3
6 op = 1op = 2op = 5
7 10001000
8
9
10

对于所有数据保证 $2\leq n \leq 1000, 1\leq op \leq 5, 100\leq id \leq 10000, 0\leq score \leq 100, 2 \leq |name| \leq 10$;

并且保证同学的姓名 namename 只包含大、小写英文字母(姓名区分大小写字母,即 xuXu 不是同一个人),且同学的学号和姓名不会出现重复

样例输入1

11
1 Xulaoshi 1086 85
1 Huanglaoshi 1014 82
2 Xu
3 1086
2 Huanglaoshi
4
5 1014
5 1014
4
5 1086
4

样例输出1

Error!
Xulaoshi 1086 85
Huanglaoshi 1014 82
Huanglaoshi 1014 82
Xulaoshi 1086 85
Ok!
No student!
Xulaoshi 1086 85
Ok!
Empty!

样例解释1

经过前两次操作后,系统内包含:

Xulaoshi 1086 85
Huanglaoshi 1014 82

33 次操作,查询姓名为 Xu 的同学成绩,无该同学,则输出 Error!

44 次操作,查询准考证号为 1086 的同学成绩,输出 Xulaoshi 1086 85

55 次操作,查询姓名为 Huanglaoshi 的同学成绩,输出 Huanglaoshi 1014 82

66 次操作,输出系统内所有同学的成绩,按准考证号从小到大排序,则为

Huanglaoshi 1014 82
Xulaoshi 1086 85

77 次操作,删除准考证号为 1014 的同学成绩,此时系统内剩下一个人

Xulaoshi 1086 85

88 次操作,删除准考证号为 1014 的同学成绩,但是没有该同学,则输出 No student!

99 次操作,输出系统内所有同学的成绩,按准考证号从小到大排序,则为

Xulaoshi 1086 85

1010 次操作,删除准考证号为 1086 的同学成绩,删除后系统内没有同学信息

1111 次操作,输出系统内所有同学的成绩,由于系统内没有同学信息,则输出 Empty!