⚠️ 先到先得能配上几对
五个人、四台机器。每个人只会开其中几台,一台机器同时只能一个人用,一个人也只能占一台:这次按名单顺序来,每人挑第一台还空着的机器:
PEOPLE = ['阿岚', '小满', '阿泰', '南风', '北辰']
LIKE = {'阿岚': ['甲', '乙'], '小满': ['甲'], '阿泰': ['丙', '丁'],
'南风': ['丙'], '北辰': ['乙', '丁']}
PEOPLE = ['阿岚', '小满', '阿泰', '南风', '北辰']
LIKE = {'阿岚': ['甲', '乙'], '小满': ['甲'], '阿泰': ['丙', '丁'],
'南风': ['丙'], '北辰': ['乙', '丁']}
def greedy(people, like):
used, m = set(), {}
for p in people:
for t in like[p]:
if t not in used:
used.add(t)
m[p] = t
break
return len(m)
print(greedy(PEOPLE, LIKE))
全部评论