⚠️ 先到先得能配上几对

👁️ 0 人浏览 💬 0 人评论 ❤️ 添加收藏

五个人、四台机器。每个人只会开其中几台,一台机器同时只能一个人用,一个人也只能占一台:这次按名单顺序来,每人挑第一台还空着的机器:

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))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论