会场安排问题NYOJ14
http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=14
想的有点多,刚开始比较的凌乱。自己再次把想法理顺一下
1、先将活动结束的时间进行排序。
2、排好序后用第二活动的开始的时间和第一个拍好的结束的时间进行对比。
3、符合的记录。
我的代码:
#include<stdio.h>
#include<stdlib.h>
#define M 11000
int cmp(const void *a,const void *b )
{
return *(int *)b - *(int *)a;
}
int main()
{
int a[M],b[M],i,j,n,m;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d%d",&a[i],&b[i]);
qsort(b,n,sizeof(b[0]),cmp);
int sum=1;
j=0;
for(i=1;i<n;i++)
{
if(a[i]>b[j])
{
sum++;
j=i;
}
}
printf("%d\n",sum);
}
system("pause");
return 0;
}有错误、、
浙公网安备 33010602011771号