HM291 全局文件名表

HM291 全局文件名表

HM291 全局文件名表

来源: 第 291 集 机房预约系统-全局文件添加

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

机房预约里有五类文本要被多个身份共同读写。为避免到处手写路径、把单词拼错后读写失败,先在全局头里用**全大写宏**给它们起语义名,谁要用文件就包含这份声明,直接用宏,不要再记右边的字符串:

  • ADMIN_FILEadmin.txt
  • STUDENT_FILEstudent.txt
  • TEACHER_FILEteacher.txt
  • COMPUTER_FILEcomputerRoom.txt
  • ORDER_FILEorder.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%
上传者