结束贪心hdu 2491 Priest John's Busiest Day
在改章节中,我们主要介绍结束贪心的内容,自我感觉有个不错的建议和大家分享下
贪心
每一个婚礼必须加参的时光过超一半
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct op
{
int st,md,ed,mt;
}p[100010];
int cmp(const void *a,const void *b)
{
struct op *c,*d;
c=(struct op *)a;
d=(struct op *)b;
return c->md-d->md;
}
int main()
{
int i,j,k,n,m;
while(scanf("%d",&n),n>0)
{
for(i=0;i<n;i++)
{
scanf("%d%d",&p[i].st,&p[i].ed);
p[i].mt=(p[i].ed-p[i].st)/2+1;
p[i].md=p[i].st+p[i].mt;
}
qsort(p,n,sizeof(p[0]),cmp);
int t=p[0].md;//加参上个婚礼结束的时光
for(i=1;i<n;i++)
{
if(p[i].ed-p[i].mt<t)//加参前当婚礼的时光够不一半时光
break;
if(t>p[i].st)
t+=p[i].mt;//如果加参婚礼时婚礼已开始,结束时光就加上婚礼一半的时光
else t=p[i].md;//婚礼没开始,结束时光就是婚礼的旁边时辰
}
if(i==n)puts("YES");
else puts("NO");
}
return 0;
}
文章结束给大家分享下程序员的一些笑话语录:
腾讯的动作好快,2010年3月5日19时28分58秒,QQ同时在线人数1亿!刚刚看到编辑发布的文章,相差才2分钟,然后连专题页面都做出来了,他们早就预料到了吧?(其实,每人赠送10Q币,轻轻松松上两亿!)

浙公网安备 33010602011771号