陈致言 2022-08-13 16:50 采纳率: 50%
浏览 36

我同学不会的一题,大家看看

小明最近喜欢上了集合,他现在得到三种集合,每个集合里面都有一些工作,第一种集合规定至少选择一个工作(用 0 表示),第二种集合规定至多选择一个工作(用 1 表示),第三种集合可以随意选择工作(用 2 表示),每个工作都要花费时间,同时会得到一些奖励,现在小明的上课时间是一个固定值,但是他却想要得到最多的奖励,聪明的你可以帮助小明解决这个问题吗?

  • 写回答

2条回答 默认 最新

  • 陈致言 2022-08-13 16:51
    关注

    输入
    第一行,输入两个数n和T,表示集合的数目以及需要工作的时间
    接下来对于每个集合首先包括两个数m和s,表示集合工作的数目以及集合的性质
    接下来m行,每行两个数,ci和gi,表示完成该集合该工作需要花费的时间以及可以得到的奖励。
    输出
    输出一个数,表示最大的奖励值。(如果不可以完成工作任务,输出“-1”)
    数据范围
    对于 10% 的数据, 1<= n<= 4 , 1<=T<=4 ,, 1<=m<=4
    对于 50% 的数据, 1<= n<= 100 , 1<=T<=100 , 1<=m<=100
    对于 100% 的数据, 1<= n<=100 , 1<=T<=100 , 1<=m<=100
    1<=ci<=T,1<=gi<=1000
    输入样例
    3 3
    2 1
    2 5
    3 8
    2 0
    1 0
    2 1
    3 2
    4 3
    2 1
    1 1
    输出样例
    5

    这是输入输出

    评论

报告相同问题?

问题事件

  • 创建了问题 8月13日