编程题
### 问题描述 小齐有一台电脑,上面存储着她所有珍贵的文件,这些文件被组织在一系列的目录中。每个目录中可以包含文件和子目录。 从给定的目录,小齐可以使用“相对路径”引用任何文件。在相对路径中,符号 $..$ 表示父目录。 现在,小齐希望选择一个目录,使得到所有文件的相对路径长度之和最小。 ### 输入格式 第一行包含一个整数 $N$,表示文件和目录的总数。为了输入的目的,每个对象(文件或目录)都被分配一个唯一的整数 $ID$,范围在1到$N$之间,其中 $ID$ $1$ 表示顶层目录。 接下来有 $N$ 行。每行以文件或目录的名称开头。名称只包含小写字母 $a-z$ 和数字 $0-9$,最长不超过 $16$ 个字符。接着是一个整数 $m$。如果 $m$ 是 $0$,则此实体是一个文件。如果 $m > 0$,则此实体是一个目录,它包含总共 $m$ 个文件或目录。接下来有 $m$ 个整数,表示此目录中实体的 $ID$。 ### 输出格式 输出文件相对路径长度之和的最小可能值。注意,该值可能过大,无法放入 $32$ 位整数中。 ### 样例输入 ``` 8 bessie 3 2 6 8 folder1 2 3 4 file1 0 folder2 1 5 file2 0 folder3 1 7 file3 0 file4 0 ``` ### 样例输出 ``` 42 ``` ### 评测数据规模 $2 \leq N \leq 100,000$。
查看答案
赣ICP备20007335号-2