nyist 14 会场安排问题
以结束时间排序,一开始用了先按照开始时间排序,开始时间相同的按结束时间排,很荣幸的WA了,沉思了一会,用了以结束时间来排序,提交 AC了,
纠结了一会儿,这个。。。。。。。。。。
若以开始时间排序的话,例如:1 7 , 2 5
这样会早早提前结束活动安排。所以。。。。。。。。。。。
代码:
#include<iostream>
#include<algorithm>
using namespace std;
typedef struct room
{
int a;
int b;
}room;
const int N=10010;
room f[N];
int fun(room x,room y)
{
if(x.a<y.a) return 1;
else if(x.a==y.a)
{if(x.b<y.b) return 1;
else return 0;}
else return 0;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int m;
cin>>m;
int i,j;
for( i = 0; i < m; i++ )
cin>>f[i].a>>f[i].b;
// for( i = 0; i < m; i++ )
// cout<<f[i].b<<endl;
sort(f,f+m,fun);
int t = 1;
room y;
y = f[0];
for( i = 1; i < m; i++ )
if(f[i].a > y.b)
{
y = f[i];
t+=1;
}
cout<<t<<endl;;
}
return 0;
}