很抱歉使用了c和c++语法混在一起的方法写算法,但是不想在学习头疼的算法的同时在考虑语法优雅程度问题。
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int cmp(const void* a, const void* b)
{
return *(int*)a - *(int*)b;
}
int main()
{
int n;
int begins[1002];
int ends[1002];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> begins[i] >> ends[i];
}
qsort(begins, n, sizeof(int), cmp);
qsort(ends, n, sizeof(int), cmp);
int j = 0, ans = 0;
for (int i = 0; i < n; i++)
if (begins[i] < ends[j])
ans++;
else
j++;
cout << ans << endl;
return 0;
}