hdu 2037 今年暑假不AC
将其按结束时间进行升序,如果下一个开始时间大于等于前一个结束时间,则进行统计。
AC 代码:
#include<stdio.h> #include<stdlib.h> typedef struct { int ts,te; } time; int cmp(const void *a,const void *b) { time *a1=(time *)a; time *b1=(time *)b; return a1->te - b1->te; } int main(void) { int n,i,sum; time tarr[105],tem; while(scanf("%d",&n)!=EOF,n) { sum = 1; for(i=0; i<n; i++) { scanf("%d%d",&tarr[i].ts,&tarr[i].te); } qsort(tarr,n,sizeof(tarr[0]),cmp); tem.ts=tarr[0].ts; tem.te=tarr[0].te; for(i=1; i<n; i++) { if(tarr[i].te>tem.te&&tarr[i].ts>=tem.te) { sum++; tem=tarr[i]; } } printf("%d\n",sum); } return 0; }