目录删除

标题:目录删除 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
某文件系统中有N个目录,每个目录都一个独一无二的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]))


全部评论

相关推荐

WesterlyDrift:你拍完照又把选项改回去的样子真的很狼狈😤😤
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 15:21
已编辑
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务