两个核同时算

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

(只看「算」的格数:核对 4、写盘 1、心跳 1。处理器一次算一格。)

makespan 把任务分给几个核(大的先分,谁最闲给谁),交回最晚完成的时刻。看 1 核、2 核、3 核各要几格:

JOBS = [("核对", 4), ("写盘", 1), ("心跳", 1)]
def makespan(jobs, cores):
    load = [0] * cores
    for name, n in sorted(jobs, key=lambda j: -j[1]):
        i = load.index(min(load))
        load[i] += n
    return max(load)

print("/".join(str(makespan(JOBS, k)) for k in (1, 2, 3)))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论