HM305 申请机位

HM305 申请机位

HM305 申请机位

来源: 第 305 集 机房预约系统-申请预约功能实现

难度: 普及

时间限制: 1s

空间限制: 64MB

题目描述

申请预约是学生端的核心:先选日期,再选时段,再选机房,最后把一条记录**追加**进预约文件。学生有参构造里要用输入流把机房表读进 vector:每间机房有编号和最大容量,读完关闭流。机房列表按容器顺序打印,便于申请人看见有哪些房间。

三个字段都必须在合法范围内才算一次成功申请,否则对该次读入输出 输入有误 并继续读下一个数:

  • 日期:整数 \(1\sim 5\) 表示周一到周五,没有周六周日。
  • 时段:\(1\) 上午,\(2\) 下午。
  • 机房:必须是 \(1\sim n\)(与机房表下标对应的编号范围;本题机房编号恰好为 \(1,2,\ldots,n\))。

合法后输出两行:预约成功审核中。写入文件时不要只丢裸数字,要带字段名、用冒号拼键值、字段之间一个空格,末尾换行。六个字段依次为:

dateintervalstuIdstuNameroomIdstatus

其中 status 固定写 \(1\),表示审核中。其余状态(成功、失败、取消)本题先不写入。打开预约文件必须用**追加**(app),以免冲掉别人已经约好的记录。

每次申请占用一行整数:从左到右依次喂给「日期循环」「时段循环」「机房循环」。保证每行最终都能凑齐一组合法值。

输入格式

第一行一个整数 \(n\),机房数量。

接下来 \(n\) 行,每行两个整数:机房编号、最大容量。

下一行:当前学生的学号和姓名。

下一行一个整数 \(q\),表示申请次数。

随后 \(q\) 行,每行若干整数,作为该次申请的输入流。

输出格式

先输出 \(n\) 行机房提示,格式:x号机房容量为 y

然后按申请过程输出 输入有误 / 预约成功 / 审核中

最后按追加顺序输出全部预约记录,每条一行,格式为:

date:d interval:t stuId:id stuName:name roomId:r status:1

样例

输入 #1

3
1 20
2 50
3 100
1 张三
1
1 2 3

输出 #1

1号机房容量为 20
2号机房容量为 50
3号机房容量为 100
预约成功
审核中
date:1 interval:2 stuId:1 stuName:张三 roomId:3 status:1

输入 #2

3
1 20
2 50
3 100
2 李四
2
6 1 3 2 4 3
1 1 2

输出 #2

1号机房容量为 20
2号机房容量为 50
3号机房容量为 100
输入有误
输入有误
输入有误
预约成功
审核中
预约成功
审核中
date:1 interval:2 stuId:2 stuName:李四 roomId:3 status:1
date:1 interval:1 stuId:2 stuName:李四 roomId:2 status:1

说明

\(1 \le n \le 10\),\(1 \le q \le 50\),每行整数不超过 \(20\) 个,学号不超过 \(10^9\)。

样例 #1 对应「周一、下午、\(3\) 号机房」,状态为审核中。样例 #2 第一笔先拒绝 \(6\)(日期)、\(3\)(时段)、\(4\)(机房),再接受 \(1,2,3\);第二笔直接合法。两条记录追加共存,不是覆盖写。

信息

ID
1304
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者