比赛场次 | 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 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
ybh | AWWWWWWWAA | 0.000 s | 0.00 MiB | 30 |
wo shi 刘畅 | C | 0.000 s | 0.00 MiB | 0 |
学校有部分学生成绩需存储处理,请你设计一个程序,具备存储、查找、插入、删除数据的功能。
输入由若干行组成:
第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