2023华为OD机试真题 Python【文件目录大小/深度优先搜索】

题目

你得到了一个文件系统的目录数据,每个目录都有一个唯一的ID、该目录内的文件大小和一些子目录。你的任务是计算指定目录及其所有子目录的文件大小总和。

输入格式

第一行:两个数字,M 和 N。其中,M 代表目录的总数,N 代表我们想查询的目录的ID。

接下来的 M 行:每行代表一个目录的信息,格式为:

目录ID 文件大小 子目录ID列表
目录ID:一个介于1到200之间的整数。
文件大小:一个介于1到1000之间的整数。
子目录ID列表:介于0到10个目录ID,用逗号分隔,放在括号里。例如:(2,3,4)。如果没有子目录,就是空括号()。
输出格式

输出指定目录及其所有子目录的文件大小总和。

示例

输入:

3 1
1 20 (2)
2 10 (3)
3 15 ()

输出:

45

解释:目录1的大小是20,它有一个子目录2,大小是10;目录2又有一个子目录3,大小是15。所以,总的大小是20 + 10 + 15 = 45。

代码

def collect_sizes(dir_dict, 

你可能感兴趣的:(华为od,python,深度优先)