贪心-突击战(Commando War, UVa 11729)

news/2025/3/29 19:32:43/

题目:

你有n个部下,每个部下需要完成一项任务。第i个部下需要你花Bi分钟交待任务,然后他会立刻独立地、无间断地执行Ji分钟后完成任务。你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务应尽早结束)。注意,不能同时给两个部下交待任务,但部下们可以同时执行他们各自的任务。

输入包含多组数据,每组数据的第一行为部下的个数N( 1 ≤ N ≤ 1 000 ) ;以下 N 行每行两个正整数 B 和 J(1≤B≤10 000,1≤J≤10 000),即交待任务的时间和执行任务的时间。输入结束标志为N=0。

对于每组数据,输出所有任务完成的最短时间。

样例输入

3
2 5
3 2
2 1 3
3 3
4 4
5 5 0

样例输出

Case 1: 8
Case 2: 15

分析

1、题目比较简单,使用贪心算法。此题中,我们想要的情况定然是,希望有尽可能多的人在同时工作,希望一个人工作的同时能够在给另一个人布置任务。所以只要按照工作的时间从大到小排序即可。
2、定义结构体,存放各个部下布置任务的时间和完成任务的时间。

代码:

#include <stdio.h>
#include <algorithm>
using namespace std;struct NODE
{int give;int work;
} war[1005];int cmp(NODE x,NODE y)
{if(x.work > y.work)return 1;return 0;
}int main()
{int n,cas = 1;while(scanf("%d",&n),n){for(int i = 0; i<n; i++)scanf("%d%d",&war[i].give,&war[i].work);sort(war,war+n,cmp);//按照工作的时间排序int ans = 0,sum = 0;for(int i = 0; i<n; i++){sum+=war[i].give;if(sum+war[i].work>ans)//可能会  先布置任务的人还没结束,后布置任务的人已经结束ans=sum+war[i].work;}printf("Case %d: %d\n",cas++,ans);}return 0;
}

http://www.ppmy.cn/news/906717.html

相关文章

[斜率优化] 特别行动队 commando

特别行动队 【问题描述】 你有一支由 n 名预备役士兵组成的部队,士兵从 1 到 n 编号,要将他们拆分成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号应该连续,即为形如(i, i + 1, …, i + k)的序列。 编号为 i 的士兵的初始战斗力为 xi ,一支特别行…

Java8实战-总结2

Java8实战-总结2 基础知识方法和Lambda传递代码&#xff1a;一个例子从传递方法到Lambda 基础知识 方法和Lambda Scala和Groovy等语言的实践已经证明&#xff0c;让方法等概念作为一等值可以扩充程序员的工具库&#xff0c;从而让编程变得更容易。一旦程序员熟悉了这个强大的…

Command(命令)

Command&#xff08;命令&#xff09; 行为型 对象 1 Intent_意图2 将“请求”封装成对象&#xff0c;以使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作 Motivation_动机3 在系统中&#xff0c;行为请求者与行为实现者通常是一种紧耦合的关系&…

I - Commando War

先读懂题意&#xff0c;先排序&#xff0c;在相加&#xff0c;贪心算法重在思路。 I - Commando War Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Description G Commando War Input: Standard Input Output: Standard …

commands(commands软件)

QQ任逍遥为什么老“badsequenceofcommands”? bad sequence of commands的意思是&#xff1a;命令的次序错误。 WINDOWS动态链接库中文件丢失会造成软件运行参数错误&#xff0c;就会造成你的这个现象。 所以很可能是你的软件运行时参数有问题&#xff0c;电脑提示bad seque…

Command命令模式

简介&#xff1a; 简单来说&#xff0c;就像我们的复制、删除、插入等等都是命令&#xff0c;我们将命令封装为一个对象&#xff0c;并且支持撤销&#xff0c;将一系列命令串成一条链或者与链表结合使用&#xff0c;可以实现一系列的do和undo 模式类图&#xff1a; command: …

more command

文章目录 1.命令简介2.命令格式3.选项说明4.交互式命令5.环境变量6.常用示例参考文献 1.命令简介 more 是常用的文本文件阅读工具。 more 类似于 cat&#xff0c;不过以一页一页的形式显示&#xff0c;便于逐页阅读。一般文件过大时使用 more 浏览&#xff0c;文件较小时使用…

commandos 系列

盟军敢死队1秘籍2008-03-23 12:42 无敌密技&#xff1a;   游戏进行中打GONZO1982或1982GONZO,然后即可使用如下密技:  SHIFTV--追踪  SHIFTX--瞬间移动  CTRLI--无敌  CTRLSHIFTN--完成任务  CtrlShiftX--敌人全爆  选关密码&#xff1a;  MISSION2: 4JJXB …