问题链接:UVA11729 Commando War。

问题简述:有n个部下需要完成一项任务,给第i个部下交代任务需要Bi时间,执行任务需要Ji时间,要求尽早完成任务,请输出最后完成任务需要的最小总时间。

这个问题是一个典型的贪心法问题,求完成任务的最短时间。用C++编程比较方便。

程序说明

程序中,比起用结构表示,每一项任务用一个类对象表示,程序处理起来比较方便,所以实现了一个简单的类job。

排序时,任务J按时间从大到小执行,可以得到最短的完成任务时间。但是,如果任务的时间相同,应该让交代任务时间较短的任务优先执行。

AC通过的C++语言程序如下:

/* UVA11729 Commando War */#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>using namespace std;const int MAXN = 10000;class job {
public:int b, j;job(int b, int j):b(b), j(j){}bool operator < (const job& r) const {return (j == r.j) ? b < r.b : j > r.j;}
};vector<job> myjob;int main()
{int n, b, j, caseno=0;while(scanf("%d", &n) != EOF && n != 0) {myjob.clear();for(int i=0; i<n; i++) {scanf("%d%d", &b, &j);myjob.push_back(job(b, j));}sort(myjob.begin(), myjob.end());int sum = 0, ans = 0;for(int i=0; i<n; i++) {sum += myjob[i].b;ans = max(ans, sum + myjob[i].j);}printf("Case %d: %d\n", ++caseno, ans);}return 0;
}

UVA11729 Commando War【贪心】相关推荐

  1. UVa11729 - Commando War(贪心)

    题目链接 简介: n个任务分配给n个部队做,每个部队都需要交代B的时间,执行J的时间 分析: 直觉告诉我们,执行时间长的任务需要早交代 那我们直接按照执行时间排序,一个一个交代就好了 为什么我们这么做 ...

  2. Uva11729 Commando War

    相邻两个士兵交换顺序,不会对其他的有所影响,贪心考虑两两之间交换策略即可. sort大法好.印象中这类排序题里有一种会卡sort,只能冒泡排序,然而到现在还没有遇到 1 /**/ 2 #include ...

  3. UVa 11729 - Commando War(贪心算法)

    题意: 给n个士兵分配任务,用b表示分配时间,j表示任务完成需要的时间,分配任务是串行的,执行任务是并行的,问算上总共时间需要最小的方案 思路: 代码如下: #include <iostream ...

  4. 【UVA - 11729】Commando War (贪心,时间调度问题)

    题干:(Uva不放题干了) 题目大意:(实在是自己懒得写网上找了一个) 解题报告: 调度问题,直接贪心出完成任务需要的时间最长的那个人排序,就行了. 方法正确性的证明以前也写过了,,这里就不再写了,, ...

  5. Competitive Programming 3题解

    题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...

  6. ICPC程序设计题解书籍系列之二:刘汝佳:《算法竞赛入门经典训练指南》

    第1章 算法设计基础(例题) 1.1思维体操 UVA11292 HDU1902 POJ3646 The Dragon of Loowater[贪心] - 海岛Blog - CSDN博客 UVA1172 ...

  7. 《算法竞赛入门经典——训练指南》第一章相关内容

    #<算法竞赛入门经典--训练指南>第一章相关内容 希望各位大牛能指导! 红色为已经做了的...黄色背景是还有不懂地方,希望在年前能刷完第一章啊.... 更新版.google上貌似又加了ex ...

  8. 训练指南第一部分解题报告

    主要是提供训练指南第一部分解题报告链接,后面会持续更新中 307 - Sticks  (DFS+剪枝) 11292 - Dragon of Loowater (贪心) 11729 - Commando ...

  9. 2019-2020新生训练class 1- 熟悉oj的使用方法贪心

    这场是我拉的第一场比赛 我也好久没写题解了 写的不好请多包涵 前面的题比较基础(A-O) 就不多提啦 那就从p开始咯 P - Best Cow Line 题目 FJ is about to take ...

最新文章

  1. matlab-基础 size 获取矩阵的行数与列数
  2. Python3中使用map()结果出错的解决方法
  3. TCP的FIN_WAIT1状态理解|深入理解TCP
  4. 与众不同 windows phone (5) - Chooser(选择器)
  5. 毕设tips——conda
  6. [vscode] convert tabs to spaces
  7. Ansbile实战经验
  8. SlideBox 间隔滚动效果
  9. 软件需求分析----实验室设备管理系统
  10. 基于STM32超声波测距
  11. C语言提取一个数的千位百位十位个位
  12. 呼叫中心和电话营销系统相关知识--中继线路
  13. python用表格中的数据画柱状图_Python数据可视化:5种绘制柱状图表的方法(附源码)...
  14. 【MM ECC VS S4】MM模块中ECC与S4的区别
  15. 全景看房vr全景展示,获得360度全景式视角实时交互体验
  16. Nodejs base64编码与解码
  17. 当技术为组织所累时怎么办?将你的组织架构旋转90度!
  18. 我在上海赶飞机 出租司机给我上了一堂MBA课
  19. 知识图谱03:知识图谱的构建方法
  20. 将群晖NAS变为本地盘

热门文章

  1. 二、bootstrap table 父子表和行列调序
  2. w ndows7浏览器网页,win7系统IE浏览器播放网页视频失败的解决方法
  3. html dom子节点,HTML DOM 节点
  4. ✨Shell脚本实现Base64 加密解密
  5. kafka自带的zk启动_kafka-eagle监控和管理kafka
  6. android 动画之漂移,Android之自定义Drawable实现灵动的红鲤鱼动画(上篇)
  7. linux php 语法加亮,用js函数PHP语法加亮
  8. pythoncopy函数_Python的shutil模块中文件的复制操作函数详解
  9. Java陷阱一箩筐----面试题集
  10. prim算法 + 最小生成树的打印 C语言