HM291 全局文件名表
HM291 全局文件名表
来源: 第 291 集 机房预约系统-全局文件添加
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
机房预约里有五类文本要被多个身份共同读写。为避免到处手写路径、把单词拼错后读写失败,先在全局头里用**全大写宏**给它们起语义名,谁要用文件就包含这份声明,直接用宏,不要再记右边的字符串:
ADMIN_FILE→admin.txtSTUDENT_FILE→student.txtTEACHER_FILE→teacher.txtCOMPUTER_FILE→computerRoom.txtORDER_FILE→order.txt
五个文件一开始都是空的(长度为 \(0\))。名称必须与上表**完全一致**,包括大小写和 computerRoom 的驼峰。
用内存模拟这五份文件,处理 \(q\) 条指令:
WHICH k:\(k=1\ldots5\) 依次对应管理员、学生、教师、机房、预约,输出宏展开后的文件名;MACRO s:\(s\) 为五个宏名之一,输出对应文件名;CHECK s:若 \(s\) 恰为五份真实文件名之一,输出OK,否则MISS;PUT k word:把单词追加到第 \(k\) 个文件末尾;GET k:输出该文件中全部单词(空格分隔);若仍为空,输出EMPTY;SIZE k:输出该文件当前单词个数(空文件为 \(0\))。
必须用五个宏保存文件名,禁止在分支里直接写死另一套字符串。
输入格式
第一行一个整数 \(q\)。
接下来 \(q\) 行,每行一条指令。
输出格式
按指令依次输出,每条指令一行。
样例
输入 #1
5
WHICH 1
WHICH 2
WHICH 3
WHICH 4
WHICH 5
输出 #1
admin.txt
student.txt
teacher.txt
computerRoom.txt
order.txt
输入 #2
7
MACRO ADMIN_FILE
CHECK computerRoom.txt
CHECK computer_room.txt
PUT 2 alice
GET 2
GET 1
SIZE 2
输出 #2
admin.txt
OK
MISS
alice
EMPTY
1
说明
\(1 \le q \le 200\),word 不含空白,长度不超过 \(20\)。
五个空文件创建出来是为了后续读写真有落点;拼错文件名会导致打不开。CHECK computer_room.txt 与真实名不一致,故为 MISS。
信息
- ID
- 1290
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者