目录删除
标题:目录删除 | 时间限制: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]))