#BS0010. 目录(dir)
目录(dir)
题目背景
俗话说的好:
文件IO一写空,OI赛场见祖宗。
题目描述
小 的选手电脑中有一些目录和文件存在了不同的磁盘分区中。对于目录结构,我们给出以下约定:
-
目录名的格式一定为
/+目录名
-
文件名的格式一定为
$+文件名
-
每个目录一定有与之相匹配的
/
代表该子目录结束 -
对于同级目录,我们保证该目录下的文件一定出现在子目录前。
对于每个文件,我们约定其文件属性一点有且为以下三种之一:
Read-Only
: 代表只读Locked
: 代表禁止读写Normal
: 代表允许所有读写
小 会尝试进行以下的操作:
-
w
代表写入文件 -
r
代表读取文件
给定 条目录结构以及每个文件的文件属性(保证所有文件名不重复),请你帮助小 判断他想实现的操作能否成功!
输入输出格式
输入格式
第一行两个整数,依次表示目录结构的条数 和操作的次数 。
接下来 行,代表目录结构。
接下来 行,每行一个操作。
输出格式
共 行,代表第 行的操作的执行结果。
如果该行操作能够正常执行,请输出该文件所在的路径
如果该行操作无法正确执行,请输出 Error
。
输入输出样例
8 3
/Code
$test.cpp:Normal
$1.in:Read-Only
$1.out:Normal
/temp
$temp.temp:Locked
/
/
w 1.out
r 1.in
r temp.temp
/Code/1.out
/Code/1.in
Error
样例 1 解释
对于样例输入的目录,其结构示意图:
Code
|____1.in
|____1.out
|____test.cpp
|____temp
|____temp.temp
1.out 正常读写。
1.in 为只读,正常读取。
temp.temp 被锁定,无法读取。
样例 2 输入
见选手目录下dir\2.in
样例 2 输出
见选手目录下dir\2.out
数据规模与约定
对于所有输入数据,保证目录名和文件名一定只包含小写英文字母和数字且长度(包括后缀名)<= 20,保证所有文件名不重复,保证同级目录下目录并不重复。
测试点编号 | 特殊性质 | ||
---|---|---|---|
1~2 | A, B | ||
3~4 | B | ||
5~10 | 无 |
特殊性质:
A: 保证所有要操作的文件一定存在。
B: 保证给定的目录结构中无子目录。