欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 贪心

程序员文章站 2022-05-05 17:38:50
...

描述:有五只老虎,1,2,3,4,5。要雇佣驯兽师,每个驯兽师只能驯服特定的老虎,要求雇佣的驯兽师最少,同时每只老虎都能有驯兽师。
驯兽师1:1245
驯兽师2:134
驯兽师3:35
驯兽师4:1245
驯兽师5:1245

a=set([1,2,3,4,5])
t={}
t[1]=set([1,2,4,5])
t[2]=set([1,3,4])
t[3]=set([3,5])
t[4]=set([1,4,5])
t[5]=set([4])
s=[]
while a:
    best=None
    cover=set()
    for q,w in t.items():
        covered=a & w
        if(len(covered)>len(cover)):
            best=q
            cover=covered
    a-=cover
    s.append(best)
print(s)