HM305 申请机位
HM305 申请机位
来源: 第 305 集 机房预约系统-申请预约功能实现
难度: 普及
时间限制: 1s
空间限制: 64MB
题目描述
申请预约是学生端的核心:先选日期,再选时段,再选机房,最后把一条记录**追加**进预约文件。学生有参构造里要用输入流把机房表读进 vector:每间机房有编号和最大容量,读完关闭流。机房列表按容器顺序打印,便于申请人看见有哪些房间。
三个字段都必须在合法范围内才算一次成功申请,否则对该次读入输出 输入有误 并继续读下一个数:
- 日期:整数 \(1\sim 5\) 表示周一到周五,没有周六周日。
- 时段:\(1\) 上午,\(2\) 下午。
- 机房:必须是 \(1\sim n\)(与机房表下标对应的编号范围;本题机房编号恰好为 \(1,2,\ldots,n\))。
合法后输出两行:预约成功 和 审核中。写入文件时不要只丢裸数字,要带字段名、用冒号拼键值、字段之间一个空格,末尾换行。六个字段依次为:
date、interval、stuId、stuName、roomId、status
其中 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
- 通过率
- ?
- 上传者