每项活动都有开始时间和结束时间。小q认为参加越多的活动,自己的周日生活就越丰富。小q一向善始善终。一个活动结束前,小q不会中途退出。给出本周日各项活动的开始和结束时间表,请算算小q最多能参加多少个活动。
AC code见下
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int ans = 0;
struct sbtz
{
int begin;
int end;
};
bool cmp(sbtz a, sbtz b)
{
return a.end < b.end;
}
int main()
{
while (cin >> n)
{
if (n == 0)
return 0;
sbtz tv[105];
ans = 0;
for (int i = 0; i < n; i++)
{
cin >> tv[i].begin >> tv[i].end;
}
sort(tv, tv + n, cmp);
int tmp = tv[0].end;
for (int i = 1; i < n; i++)
{
if (tv[i].begin >= tmp)
{
ans++;
tmp = tv[i].end;
}
}
cout << ans+1 << endl;
}
return 0;
}