HM314 教师审核

HM314 教师审核

HM314 教师审核

来源: 第 314 集 机房预约系统-教师审核预约功能实现

难度: 普及

时间限制: 1s

空间限制: 64MB

题目描述

只有教师能做审核。先构造预约表:mSize 为 \(0\) 则输出 无预约记录 并结束。

能拿来审核的只有状态为 \(1\)(审核中)的记录。已取消、已通过、已驳回的都不要列。和取消预约一样,用户看到的是从 \(1\) 起的序号,真实下标可能对不齐,所以再用 vector<int> 记下大表下标。用户选 \(k\) 时,真实键是 v[k-1]

列表中输出日期、时段(三目:\(1\) 上午否则下午)、机房号、学号、姓名;状态此时必然是审核中,可以直接写死。

每次进入审核界面都会按**当前**状态重新筛选。一次界面处理一个选择:

  • 选择不在 \(0\sim v.size()\):输出 输入有误,本轮不改表。
  • 选择 \(0\):本轮放弃审核,不改表。
  • 否则再看审核结果:\(1\) 表示通过,把该条 status 置为 "2";其余(含 \(2\))表示不通过,置为 "-1"。然后整表回写,输出 审核完毕

回写格式:

date v1 interval v2 stuId v3 stuName v4 roomId v5 status v6

共进行 \(q\) 轮界面(模拟多次进入审核功能)。全部轮次结束后,若一开始 \(n>0\),再输出最终文件。

输入格式

第一行:\(n\)。

接下来 \(n\) 行,每行六个字段:日期、时段、学号、姓名、机房号、状态。

当 \(n>0\) 时:下一行 \(q\),随后 \(q\) 行,每行两个整数 select retselect 为 \(0\) 或非法时,ret 仍会给出,但应忽略。

输出格式

若 \(n=0\),一行 无预约记录

否则对每一轮先输出当前待审核列表,每行:

k、预约日期:d 时段:上午|下午 机房号:r 学号:id 姓名:name 状态:审核中

再按选择输出 输入有误审核完毕(选择 \(0\) 不追加提示)。最后输出 \(n\) 行最终文件。

样例

输入 #1

4
1 2 1 张三 3 1
2 2 1 张三 1 1
4 1 2 李四 2 1
1 2 1 张三 3 0
4
9 1
1 1
1 2
1 1

输出 #1

1、预约日期:1 时段:下午 机房号:3 学号:1 姓名:张三 状态:审核中
2、预约日期:2 时段:下午 机房号:1 学号:1 姓名:张三 状态:审核中
3、预约日期:4 时段:上午 机房号:2 学号:2 姓名:李四 状态:审核中
输入有误
1、预约日期:1 时段:下午 机房号:3 学号:1 姓名:张三 状态:审核中
2、预约日期:2 时段:下午 机房号:1 学号:1 姓名:张三 状态:审核中
3、预约日期:4 时段:上午 机房号:2 学号:2 姓名:李四 状态:审核中
审核完毕
1、预约日期:2 时段:下午 机房号:1 学号:1 姓名:张三 状态:审核中
2、预约日期:4 时段:上午 机房号:2 学号:2 姓名:李四 状态:审核中
审核完毕
1、预约日期:4 时段:上午 机房号:2 学号:2 姓名:李四 状态:审核中
审核完毕
date 1 interval 2 stuId 1 stuName 张三 roomId 3 status 2
date 2 interval 2 stuId 1 stuName 张三 roomId 1 status -1
date 4 interval 1 stuId 2 stuName 李四 roomId 2 status 2
date 1 interval 2 stuId 1 stuName 张三 roomId 3 status 0

输入 #2

0

输出 #2

无预约记录

说明

\(0 \le n \le 200\),\(1 \le q \le 50\)(\(n=0\) 时无后续)。

样例 #1 复现审核链:先拒绝非法序号;再让张三 \(3\) 号机房通过(状态 \(2\));再驳回张三 \(1\) 号机房(状态 \(-1\));最后让李四通过。已取消的第四条始终不出现在待审列表。学生事后应能分别看到成功、失败和自己取消的记录。

信息

ID
1313
难度
9
分类
(无)
标签
(无)
递交数
2
已通过
1
通过率
50%
上传者