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;
}

浙公网安备 33010602011771号