2059. Linux模拟器 - 2

时间限制 1000 ms   内存限制 256 MB

咸鱼鱼在某学期的计算思维测试中出了一道有关Linux命令行的题,给很多同学带来了快乐。

这次,他又出了一道有关Linux命令行的题目。

计算机文件系统中通过目录(文件夹)来对文件进行管理。在许多系统中可以使用图形化的资源管理器来操作目录,使用鼠标点击不同的文件夹,切换当前的目录。而除了图形化的资源管理器,基于终端的资源管理器也十分常见。

如在Linux Bash下,可以使用 pwdcd 等命令来操作目录(文件夹),当然,也可以使用 mkdirls 来新建目录和查看当前目录下的所有目录和文件。本题中咸鱼鱼想让大家模拟Linux Bash下的 mkdirls 这两个命令。

mkdir 即为 make directory,意为创建一个目录(文件夹),命令格式为 mkdir path。其中 path 表示一条路径,一条路径通常会由多个字符串与多个斜杠 / 组成。本题中保证 path 是绝对路径,以 / 开头,/ 结尾,不包含空格且一定合法。同时,本题保证 mkdir 不会递归创建文件夹,即保证每次 新建且只新建 一个文件夹

在真实环境中,如果你想使用 mkdir 来递归创建多个文件夹,那么你需要加入 -p 选项,如 mkdir -p ~/d1/d2/

假设目前在 /home/YXHXianYu/ 这个目录下有两个文件夹 dir1dir2。那么如果执行了 mkdir /home/YXHXianYu/dir3/,那么这个目录下就会存在三个文件夹 dir1dir2dir3

ls 即为 list,意为列出目录中的文件和子目录,命令格式为 ls path。保证 path 已经创建且不存在任何文件,只涉及目录。

假设目前在 /home/YXHXianYu/ 这个目录下有两个目录 dir1dir2。那么如果执行了 ls /home/YXHXianYu/,那么终端就会打印出 dir1 dir2(目录间以空格分割)。

初始时,环境只存在根目录,即 /,不存在其他任何目录。

输入数据

第 $1$ 行为一个正整数 $n( 1 \leq n \leq 10^2)$,表示接下来共有 $n$ 行命令。

第 $2$ 行至第 $2+n-1$ 行,每行为一条命令,命令为 mkdirls

每条命令均由两个 不包含空格 的字符串组成,分别记为 commandpathcommand 表示命令类型,只能为 mkdirlspath 表示目标路径。

我们保证 path 是绝对路径,以 / 开头,以 / 结尾,不包含空格。在 mkdir 中,我们保证路径中只有最后一个字符串对应的目录不存在;在 ls 中,我们保证路径存在。

保证一条命令的长度不超过 $1000$ 个字符,文件夹名字不超过 $10$ 个字符,文件夹名称仅有 $a-z$ 组成。

保证至少有一条命令为 ls

输出数据

对于每条 ls 命令输出一行,表示目标路径下的所有文件夹。输出的目录只需要包含目录名称,不需要包含 / 等字符。

若一个目录下有多个文件夹,请按照 字典序顺序 从小到大 输出这些文件夹。字典序的定义如下:我们称一个字符串 $x$ 字典序小于字符串 $y$,当且仅当 $x$ 是一个 $y$ 的前缀且 $x \neq y$,或者存在任意一个 $i\ (1\leq i \leq min(|x|, |y|)$,使得 $x_i < y_i$,并且对于任意的 $j\ (1\leq j < i)$,有 $x_j = y_j$。其中,$|a|$ 表示字符串 $a$ 的长度,$a_i$ 表示字符串 $a$ 从左往右数的第 $i$ 个字符。

若该目录下不包含任何文件夹,请输出 EMPTY !这和真实环境不同!

样例输入

复制
14
mkdir /usr/
mkdir /usr/bin/
mkdir /home/
mkdir /home/yxhxianyu/
mkdir /home/lovekdl/
mkdir /home/makisechri/
ls /
ls /usr/
ls /home/
ls /home/yxhxianyu/
mkdir /home/yxhxianyu/aba/
mkdir /home/yxhxianyu/abc/
mkdir /home/yxhxianyu/aaa/
ls /home/yxhxianyu/  \n
     ·     \n
     ·         \n
     ·      \n
     ·                \n
     ·              \n
     ·                 \n
  · \n
  ·     \n
  ·      \n
  ·                \n
     ·                    \n
     ·                    \n
     ·                    \n
  ·                \n

样例输出

复制
home usr 
bin 
lovekdl makisechri yxhxianyu 
EMPTY
aaa aba abc    ·   \n
   \n
       ·          ·         \n
     \n
   ·   ·   \n

提交

请先 登录

© 2024 FAQs Contact About