结束贪心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币,轻轻松松上两亿!)