题库首页 › GESP等级认证(Python) › 题目 20683

给定有 n 个任务,每个任务有截止时间和利润,每个任务耗时 1 个时间单位、必须在截止时间前完成,且每个时间槽最多做 1 个任务。为了在规定时间内获得最大利润,可以采用贪心策略,即按利润从高到低排序,尽量安排,则横线处应填写( )。class Task: def __init__(self, deadline, profit): self.deadline = deadline self.profit = profit def sort_by_profit(tasks): tasks.sort(key=lambda x: x.profit, reverse=True) def max_profit(tasks): sort_by_profit(tasks) max_time = 0 for task in tasks: if task.deadline > max_time: max_time = task.deadline slot = [False] * (max_time + 1) total_profit = 0 for task in tasks: t = task.deadline while t >= 1: if not slot[t]: # 填空处完整代码 slot[t] = True total_profit += task.profit break t -= 1 return total_profit

A. slot [t] = True total_profit += task .profit break
B. slot [t] = True total_profit += task .profit
C. slot[t] = False total_profit += task .profit break
D. slot [t] = True total_profit -= task .profit

正确答案:A

试卷来源:202512 CCF-GESP编程能力等级认证Python五级真题

本卷相关题目

在线做题 同科目题库