#include <iostream>
#include <algorithm>
using namespace std;
struct Activity
{
int beg, end;
};
bool cmp(const Activity la, const Activity ra)
{
return la.beg < ra.beg;
}
int main()
{
int m, i, n, count, short_time;
Activity vec[10000];
cin >> m;
while (m--)
{
cin >> n;
for (i = 0; i < n; ++i)
{
cin >> vec[i].beg >> vec[i].end;
}
sort(vec, vec + n, cmp);
count = 1;
for (i = 0; i < n; ++i)
{
if (i == 0 || vec[i].end < short_time)
{
short_time = vec[i].end;
continue;
}
if (vec[i].beg > short_time)
{
short_time = vec[i].end;
++count;
}
}
cout << count << endl;
}
return 0;
}ACM-会场安排问题
最新推荐文章于 2022-11-01 12:29:45 发布
本文介绍了一种用于处理活动排序并计算特定时间段内活动数量的算法。通过使用C++实现,该算法能够高效地对输入的活动进行排序,并根据结束时间计算在给定时间段内的活动总数。
660

被折叠的 条评论
为什么被折叠?



