欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
SIMD12C.文件系统
文件系统
题目描述
你需要模拟一个只有目录和普通文件的文件系统。根目录的路径为 /,目录或文件名只含小写英文字母和数字。一个目录内不会同时存在两个同名对象。所有输入操作均保证合法:所引用的路径在操作发生时存在,创建时目标名称尚不存在,移动时目标是目录,且不会把一个目录移动到它自己的子树中。根目录不会被删除或移动。
系统依次执行 条指令:
MK path:创建一个空目录。path的最后一段是新目录名,其父目录已经存在。TOUCH path s:创建一个大小为 的普通文件。RM path:删除该文件或目录;删除目录会递归删除它的全部子树。MV src dst:将文件或目录src移动到已有目录dst下,名称不改变。Q path:path一定是目录。输出该目录完整子树中的普通文件数量,以及这些文件大小之和。
目录深度(根目录深度为 )在任何时刻均不超过 。注意路径在移动后会改变;每条指令都应按照此前操作后的当前文件系统解释。
输入格式
第一行一个整数 ()。
接下来 行,每行一条指令。所有路径长度总和不超过 ,每个文件大小满足 。
输出格式
对每条 Q 指令输出一行两个整数:该目录子树内的普通文件数量和文件大小总和。
样例
样例 1
输入:
10
MK /a
MK /b
TOUCH /a/x 5
MK /a/c
TOUCH /a/c/y 7
Q /a
MV /a/c /b
Q /a
Q /b
RM /a/x
输出:
2 12
1 5
1 7
在线编程 IDE
建议全屏模式获得最佳体验
键盘快捷键
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |
第 1 行,第 1 列
0 字符
-
最近自测结果
暂未运行
最近递交结果
暂无递交记录