11729 Commando War
//11729 Commando War
/*
题意:n个部下,每个部下需要Bi分钟交待任务,让后Ji分钟后完成任务。
确定一个顺序,使得最早完成任务。
把 说明时间每次累加
求和 每组说明和作业时间和 比较大小即可
贪心
*///AC
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int M=10010;
int s[M][2],s2[M];
int n;
int cmp(const void *a,const void *b)
{
int *c = (int *)a;
int *d = (int *)b;
if(*c != *d)
return *d - *c;// return *c - *d;
return *(c+1) - *(d+1);// return *(d+1) - *(c+1);//现在是降序
}
int main()
{
int i,j,k;
int ct ,ans,t;
int u ,d;
ans=0;
while(scanf("%d",&n)==1)
{
if(n==0)break;
for(i=0;i<n;i++)
{
scanf("%d%d",&s[i][1],&s[i][0]);
}
qsort(s,n,sizeof(s[0]),cmp);
ct=0;
ct=s[0][1];
s[0][0]+=s[0][1];
for(i=1;i<n;i++)
{
s[i][0]+=s[i][1]+ct;
ct+=s[i][1];
}qsort(s,n,sizeof(s[0]),cmp);
//for(i=0;i<n;i++)printf("%d %d\n",s[i][0], s[i][1]);
printf("Case %d: %d\n",++ans,s[0][0]);
}
//
return 0;
}
/*
3
2 5
3 2
2 1
3
3 3
4 4
5 5
0
*/
/*//结构体解法
#include<stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN=1010;
struct Node
{
int B,J;
}node[MAXN];
bool cmp(Node a,Node b)
{
return a.J>b.J;
}
int main()
{
int n;
int iCase=0;
while(scanf("%d",&n) == 1 && n)
{
iCase++;
for(int i=0;i<n;i++)
scanf("%d%d",&node[i].B,&node[i].J);
sort(node,node+n,cmp);
int ans=0;
int tmp=0;
for(int i=0;i<n;i++)
{
tmp+=node[i].B;
ans=max(ans,tmp+node[i].J);
}
printf("Case %d: %d\n",iCase,ans);
}
return 0;
}
*/
/*
题意:n个部下,每个部下需要Bi分钟交待任务,让后Ji分钟后完成任务。
确定一个顺序,使得最早完成任务。
把 说明时间每次累加
求和 每组说明和作业时间和 比较大小即可
贪心
*///AC
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int M=10010;
int s[M][2],s2[M];
int n;
int cmp(const void *a,const void *b)
{
int *c = (int *)a;
int *d = (int *)b;
if(*c != *d)
return *d - *c;// return *c - *d;
return *(c+1) - *(d+1);// return *(d+1) - *(c+1);//现在是降序
}
int main()
{
int i,j,k;
int ct ,ans,t;
int u ,d;
ans=0;
while(scanf("%d",&n)==1)
{
if(n==0)break;
for(i=0;i<n;i++)
{
scanf("%d%d",&s[i][1],&s[i][0]);
}
qsort(s,n,sizeof(s[0]),cmp);
ct=0;
ct=s[0][1];
s[0][0]+=s[0][1];
for(i=1;i<n;i++)
{
s[i][0]+=s[i][1]+ct;
ct+=s[i][1];
}qsort(s,n,sizeof(s[0]),cmp);
//for(i=0;i<n;i++)printf("%d %d\n",s[i][0], s[i][1]);
printf("Case %d: %d\n",++ans,s[0][0]);
}
//
return 0;
}
/*
3
2 5
3 2
2 1
3
3 3
4 4
5 5
0
*/
/*//结构体解法
#include<stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN=1010;
struct Node
{
int B,J;
}node[MAXN];
bool cmp(Node a,Node b)
{
return a.J>b.J;
}
int main()
{
int n;
int iCase=0;
while(scanf("%d",&n) == 1 && n)
{
iCase++;
for(int i=0;i<n;i++)
scanf("%d%d",&node[i].B,&node[i].J);
sort(node,node+n,cmp);
int ans=0;
int tmp=0;
for(int i=0;i<n;i++)
{
tmp+=node[i].B;
ans=max(ans,tmp+node[i].J);
}
printf("Case %d: %d\n",iCase,ans);
}
return 0;
}
*/
posted on 2013-02-06 15:12 ACM_Someone like you 阅读(621) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)