Advertisement

NYOJ 会场安排问题

阅读量:

会场安排问题

题目描述

复制代码

输入

复制代码
    第一行是一个整型数m(m<100)表示共有m组测试数据。  
    每组测试数据的第一行是一个整数n(1<n<10000)表示该测试数据共有n个活动。  
    随后的n行,每行有两个正整数Bi,Ei(0<=Bi,Ei<10000),分别表示第i个活动的起始与结束时间(Bi<=Ei)

输出

复制代码

样例输入

复制

复制代码

样例输出

复制

复制代码

提示

复制代码
复制代码
复制代码
 #include<stdio.h>

    
 #include<string.h>
    
 #include<algorithm>
    
 using namespace std;
    
 struct pro
    
 {
    
     int s;
    
     int e;
    
 } a[10005];
    
 bool cmp(pro a,pro b)
    
 {
    
     if(a.e==b.e)
    
     return a.s>b.s;
    
     return a.e<b.e;
    
 }
    
 int main()
    
 {
    
     int n;
    
     scanf("%d",&n);
    
     while(n--)
    
     {
    
     int t;
    
     scanf("%d",&t);
    
     for(int i=0; i<t; i++)
    
         scanf("%d%d",&a[i].s,&a[i].e);
    
     sort(a,a+t,cmp);
    
     int ans=1,sum=0;
    
     for(int i=1; i<t; i++)
    
     {
    
         if(a[i].s>a[sum].e)
    
         {
    
             ans++;
    
             sum=i;
    
         }
    
     }
    
     printf("%d\n",ans);
    
     }
    
     return 0;
    
 }
复制代码

全部评论 (0)

还没有任何评论哟~