比赛场次 53
比赛名称 201001-line
比赛状态 已结束比赛成绩
开始时间 2010-01-18 19:00:00
结束时间 2010-01-18 22:00:00
开放分组 全部用户
注释介绍
题目名称 学生成绩管理系统
输入输出 linet.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatarybh AWWWWWWWAA 0.000 s 0.00 MiB 30
Gravatarwo shi 刘畅 C 0.000 s 0.00 MiB 0

学生成绩管理系统

★   输入文件:linet.in   输出文件:linet.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

学校有部分学生成绩需存储处理,请你设计一个程序,具备存储、查找、插入、删除数据的功能。

【输入格式】

输入由若干行组成:

第1行有一个整数,$n(1\leq n\leq 200)$表示开始时学生人数。

接下来$n$行是$n$个学生的信息,每行两个整数,$id,score(1000\leq id\leq 9999, 1\leq score\leq 200)$,$id$表示学生学号,$score$表示学生成绩。

接下来1行是一个整数$m(1\leq m\leq 100)$,表示要进行操作的数量。

接下来$m$行是每种操作的信息,每行若干个整数,第1个整数表示操作类型,1表示查找操作,2表示插入操作,3表示删除操作。

对于查找操作:该行第二个整数表示查找类型,1表示单个查找,即查找个人信息,后边有第三个整数,表示要查找人的学号;0表示全部查找,本行只有两个整数。如果没有要查找的信息,查找结果为no

对于插入操作:该行第二个整数$x$表示插入信息的数量,接下来有$x(1\leq x\leq 10)$组数据,每组三个整数$p,id,score$,$p$表示信息插入的位置(插入到第$p$个节点之后),$id,score$表示插入信息(学生学号和学生成绩)。如果插入位置错误,显示out,如果信息重复,显示dup,并且不插入重复信息。

对于删除操作:该行第二个整数$y$表示删除数量,后边有$y(1\leq y\leq 10)$个整数,表示$y$组删除信息(每组仅有学生的学号)。如果线性表中无相应信息,则输出error

【输出格式】

根据不同的操作,输出不同的操作信息。

插入和删除操作如无操作错误(学号重复、人数超限等),无输出信息。

查找操作中如是单个查找,只输出单个学生信息(输出一行,两个整数)。

如果是全部查找,第一行输出线性表中学生信息数$n$,接下来$n$行输出学生信息(每行两个整数)。

对于错误信息,需要单独占一行。

【输入样例】

4
1035 98
2434 78
6954 88
1793 99
2
3 1 2434
1 0

【输出样例】

3
1035 98
6954 88
1793 99