您的位置:首页 > 编程语言 > C语言/C++

C语言 南阳理工ACM 14 会场安排问题

2013-08-15 21:41 148 查看
#include<stdio.h>

#include<stdlib.h>

#include<string.h>

struct Sample

{

 int bi;

 int ei;

}s[10010];

int cmp(const void *a,const void *b)

{

    return (*(Sample *)a).ei>(*(Sample *)b).ei?1:-1;

}

int main()



 int m,n,i,j,num,a;

 scanf("%d",&m);

 while(m--){

  scanf("%d",&n);

  for(i=0;i<n;i++)

   scanf("%d %d",&s[i].bi,&s[i].ei);

  qsort(s,n,sizeof(s[0]),cmp);

  num=1;

  for(i=0;i<n-1;)

  {   a=0;

   for(j=i+1;j<n;j++)//此 for 循环从 1 到  n 全部进行了判断,所以判断结束后如果 a=0, 则说明没有可以再

                                                         //安排的活动了 ,所以 a=0就可以直接不用再判断了

   {

    if(s[j].bi>s[i].ei)

    {

     num++;

     i=j;

     a=1;

     break;

    }

   }

   if(a==0)

   break;

    

  }

  printf("%d\n",num);

 }

 return 0;

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: