Uva 11729 Commando War
2014-04-06 11:25
232 查看
例题代码是c++,看起来实在不习惯。还是用我的c写舒服。
题意:突击队
你有n个部下,每个部下需要完成一项任务。第i个部下需要你话b[i]分钟交代任务然后他会立刻独立地、无间断地执行j[i]分钟后完成任务。你需要选择交代任务的顺序,使得所有任务今早执行完毕(即最后一个执行完的任务尽早结束)。注意,不能同时给两个部下交代任务,但部下们可以同时执行他们各自的任务。
题意:突击队
你有n个部下,每个部下需要完成一项任务。第i个部下需要你话b[i]分钟交代任务然后他会立刻独立地、无间断地执行j[i]分钟后完成任务。你需要选择交代任务的顺序,使得所有任务今早执行完毕(即最后一个执行完的任务尽早结束)。注意,不能同时给两个部下交代任务,但部下们可以同时执行他们各自的任务。
#include<stdio.h> #include<stdlib.h> #define max(a,b) (a)>(b)? (a):(b); struct Node { int b,j; }J[1005]; int cmp(const void*a,const void*b) { struct Node *c=(struct Node *)a; struct Node *d=(struct Node *)b; return c->j < d->j; } int main(void) { int n,b,j,i,kase=1,sum,ans; while(scanf("%d",&n)==1&&n) { for(i=0;i<n;i++) scanf("%d%d",&J[i].b,&J[i].j); qsort(J,n,sizeof(J[0]),cmp); sum=0,ans=0; for(i=0;i<n;i++) { sum+=J[i].b; ans=max(ans,sum+J[i].j);//这里是关键,得到最大值 } printf("Case %d: %d\n",kase++,ans); } return 0; }
相关文章推荐
- Python随手记
- 我的第一篇博客
- 第4周作业-数学学习工具
- 数字通信基本概念
- POJ 2533 Longest Ordered Subsequence
- 解决laravel中环境配置不起作用的方法
- DataTable删除行(所有的或者有条件的),List删除项参照方法3和4.
- win8 下 eclipse+android 开发环境配置带图详细教程
- linux下编写C++程序
- 开方数
- ubuntu 13.10 64 安装lib32库
- 设计原则
- Launcher2编译
- Ubuntu安装Vmware Tools后hgfs无法看到共享文件的解决方法
- Longest Repeated Sequence
- Hive.GROUPING SETS的“陷阱”
- 免费linux远程服务器主机nitrousIO
- UML类图各种关系详解
- hdoj 继续畅通工程 Kruskal算法实现最小生成树
- C++程序设计之四书五经