员工派对(Python)

员工派对问题是深度优先搜索算法的一个典型应用,本文通过Python对其进行解读

员工派对问题

问题引入

【问题描述】公司要举办一个员工派对,公司里所有的员工都有资格来参加。该公司的组织结构是一个二叉树结构。如果一个结点A有双亲结点B,则代表B是A的上司。实际上,每一个员工为派对带来的贡献不一样,有的人幽默,就能使派对更加有趣,而有的人恰恰相反。然而,假如该公司里的所有员工都对自己的上司不满意(假设其有上司),那么如果一个员工来到派对,其上司就不能来到派对,反之亦然。但员工和员工上司的上司可以一起参加派对,因为他们互相不熟悉。如果你是董事长的秘书,并且已知公司组织结构,应该怎么邀请员工,使得任何一组员工和上司不会同时出现在派对中,并且使得邀请的所有员工的贡献值之和最大。

【输入形式】

按序输入员工的价值。

【输出形式】

贡献值之和的最大值。

【样例输入】

3 4 5 1 3 1

【样例输出】

程序设计 

class treenode():       #定义二叉树结点类
    def __init__(self,val):
        self.val=val    #结点值
        self.left=None  #结点左子树
        self.right=None  #结点右子树
Input=list(map(int,input().split()))  
tree&#

猜你喜欢

转载自blog.csdn.net/m0_68111267/article/details/128692480
今日推荐