目录删除
标题:目录删除 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
某文件系统中有N个目录,每个目录都一个独一无二的ID。每个目录只有一个父目录,但每个父目录下可以有零个或者多个子目录,目录结构呈树状结构。
假设,根目录的ID为0,且根目录没有父目录,其他所有目录的ID用唯一的正整数表示,并统一编号。
假设,根目录的ID为0,且根目录没有父目录,其他所有目录的ID用唯一的正整数表示,并统一编号。
rm_list_all = [] def find_rm(rm_pv, tree_): rm_list_all.append(rm_pv) if tree_.get(rm_pv): for i in tree_.get(rm_pv): find_rm(i, tree_) if __name__ == '__main__': lines = int(input().strip()) tree = {} for i in range(lines): s, p = [int(i) for i in input().strip().split()] if tree.get(p) is None: tree[p] = [s] else: tree[p].append(s) rm_p = int(input().strip()) find_rm(rm_p,tree) res = [] for k,v in tree.items(): if k not in rm_list_all and k != 0: res.append(k) for i in v: if i not in rm_list_all and i != 0: res.append(i) res = list(set(res)) res.sort() print(' '.join([str(i) for i in res]))