Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:最简单的代码!!!信不信由你!下面大牛提供的测试数据很给力!在这感谢大牛了!In Reply To:最简单的代码!!!信不信由你!下面大牛提供的测试数据很给力!在这感谢大牛了! Posted by:chenxuan123456789 at 2012-09-15 22:49:56 > #include <stdio.h> > #include <stdlib.h> > typedef struct node > { > int s; > int e; > }Node; > Node p[1000010]; > int cmp(const void *_a,const void *_b) > { > Node *a=(Node*)_a; > Node *b=(Node*)_b; > if(a->s==b->s) > return b->e-a->e; > return a->s-b->s; > } > int main() > { > int n,t,i,j,f,c,mark,mx,k; > while(scanf("%d %d",&n,&t)!=EOF) > { > for(i=0;i<n;i++) > scanf("%d %d",&p[i].s,&p[i].e); > qsort(p,n,sizeof(p[0]),cmp); > if(p[0].s!=1) > { > printf("-1\n"); > continue; > } > if(p[0].s==1&&p[0].e==t) > { > printf("1\n"); > continue; > } > c=1; > f=0; > for(i=0;i<n;) > { > mark=0; > mx=p[i].e; > for(j=i+1;j<n;j++) > if(p[j].s>=p[i].s&&p[j].s<=p[i].e+1) > { > if(p[j].e>mx) > { > mx=p[j].e; > k=j; > mark=1; > } > } > if(mark) > { > i=k; > c++; > } > else > break; > if(p[i].e==t) > { > f=1; > break; > } > } > if(f) > printf("%d\n",c); > else > printf("-1\n"); > } > return 1; > } > > > > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator