1018: 突击战
Time Limit: 1 Sec Memory Limit: 128 MB
Description
你有n个部下,每个部下需要完成一项任务。第i个部下需要你花Bi分钟交待任务,然后他会立刻独立地、无间断地执行Ji分钟后完成任务。你需要选择交代任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完成的任务应尽早结束)。注意,不能同时给两个部下交待任务,但部下们可以同时执行他们各自的任务。
Input
输入包含多组数据,每组数据的第一行为部下的个数N(1<=N<=1000);以下N行每行两个正整数B和J(1<=B<=10 000,1<=J<=10 000),即交待任务的时间和执行任务的时间。输入结束的标志为N=0。
Output
对于每组数据,先输出“Case #: ”(‘#’表示第几组数据),然后是所有任务完成的最短时间。
Sample Input
3
2 5
3 2
2 1
3
3 3
4 4
5 5
0
Sample Output
Case 1: 8
Case 2: 15
HINT
对于Sample里的第一组数据,你给部下交待任务的顺序应该是1,2,3得到最早的完成时间是8;
第二组数据,你给部下交待任务的顺序应该是3,2,1得到最早的完成时间是15。
Source
思维的体操
解题代码:

#include <stdio.h>
#include <algorithm>
using namespace std;
struct Soldier
{int x;int y;
};
bool cmp(Soldier a, Soldier b)
{if(a.y == b.y){return a.x < b.x;}return a.y > b.y;
}
int main()
{int N,c = 0;while(~scanf("%d",&N)&&N!=0){c++;struct Soldier date[N+2];for(int i = 0; i < N; i++){scanf("%d%d",&date[i].x,&date[i].y);}sort(date,date+N,cmp);int time = date[0].x + date[0].y;int z;for(int j = 1; j < N; j++){z = date[j].x + date[j].y - date[j-1].y;if(z > 0) time += z;else date[j].y -= z;}printf("Case %d: %d\n",c,time);}return 0;
}

贪心(用了结构体排序)相关推荐

  1. 还是贪心(结构体排序)

    2128: 盾神与积木游戏 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 127 Solved: 39 [Submit][Status][Web Boa ...

  2. qvector 结构体排序_C++结构体的应用_YCOJ

    结构体是一种自定义的东西,用struct来定义.在他里面, 可以装许多东西,比如int,string,char,bool等等等等. 如: struct a{ string name; int a; i ...

  3. sort对结构体排序

    1.排序方法: sort(数组起始指针,数组尾指针,排序规则); 数组起始指针,数组尾指针是左闭右开 排序规则可以省略,也可以用系统的,也可以自己写 2.例子: int a[]={9,2,4,5,10 ...

  4. P1068 分数线划定 洛谷 (C++)(结构体排序)

    简单的结构体排序,代码如下 #include <iostream> #include <cstdio> #include <algorithm> #include ...

  5. C#中结构体排序方法(Array.sort() + ICompare)

    感觉C#比C++麻烦许多,资料也少,找了半天竟然没有找到一个能用的结构体排序. 这是待排序的结构体: public struct la{public int id;public int sb;}; 首 ...

  6. 【HDU】1862 EXCEL排序(结构体排序)

    Problem Description Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. Input 测试输入包含若干测试用例.每个测试用例的第1行包含两个整数 N (<= ...

  7. -nan(ind) 重载运算符以及结构体排序

    一. -nan(ind): nan:not a number:无法得到一个数字 ind:indeterminate: 不确定的 可能情况: 1. 分母为零 2. 对负数开平方 3. 有些编译器在对无穷 ...

  8. C语言中对结构体排序

    在C语言中对结构体排序 用qsort()函数进行排序, qsort()里面要传入4个参数–qsort(数组名,数组长度,sizeof(),排序方法) 实验9-5 查找书籍 (20分) 给定n本书的名称 ...

  9. 【C语言】结构体排序

    这里写目录标题 快速排序 结构体排序 模仿qsort函数实现冒泡排序 三级目录 快速排序 //快速排序 void qsort(void* base, //base中存放待排序数据中第一个对象地地址si ...

  10. 7-2 芬兰木棋 结构体排序

    7-2 芬兰木棋 分数 25 作者 DAI, Longao 单位 杭州百腾教育科技有限公司 WX20200212-152528.png 芬兰木棋(Mölkky,又称芬兰木柱)是源自芬兰的一项运动.哲哲 ...

最新文章

  1. Ecol. Lett. | 生态学实验设计中“梯度实验”和“重复实验”的抉择
  2. 波卡链Substrate (6)Babe协议二“分配slot机制”
  3. shell调用各种sqlplus用法
  4. android扫码支付宝ofo,六大共享单车接入支付宝 ofo等免押金扫一扫可骑走
  5. POJ 2337 输出欧拉路径
  6. poj 2051 Argus(优先队列)
  7. 电子设计速成_Web设计速成课程:从一个非设计者到另一个
  8. linux while read文件,linux shell脚本用while read逐行读取文本的问题
  9. 20个科学小知识,带你走进科学世界
  10. Struts2之异常机制
  11. django 1.8 官方文档翻译: 6-4-2 编写自定义的django-admin命令
  12. 毕设日志——pytorch版本faster rcnn运行代码前的环境配置2019.4.9
  13. (转)python中的参数:*args和**kwargs
  14. 2016蓝桥杯java试题_2016年第七届蓝桥杯JavaB组省赛试题解析
  15. Lengauer-Tarjan算法--支配树构造(bzoj 2815: [ZJOI2012]灾难)
  16. 数据库:码 属性 候选码 主码的关系
  17. editplus破解源码
  18. STVD环境下开发STM8,如何查看工程占用的Flash、EEPROM、RAM的情况
  19. 一键清除系统垃圾 bat文件
  20. Quantum Espresso安装

热门文章

  1. linux shell的二级菜单,linux shell编程之菜单选择(一)
  2. 5 款可替代 du 命令的工具!
  3. 给你安利几个牛逼的公众号~
  4. 向腾讯云windows服务器传输文件,如何上传本地文件到腾讯云Windows服务器上?
  5. 积跬步以至千里_《荀子》名句76则:不积跬步,无以至千里;不积小流,无以成江海...
  6. vscode 最好的ui主题
  7. Django 练习班级管理系统五 -- 查看老师列表
  8. 适配移动端的文字超出隐藏并添加省略号
  9. Flask之threading.loacl方法
  10. jmeter.bat配置(主要关于OOM)