数轴上有n个闭区间[ai, bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。
输入格式:
第一行一个数字n,表示有n个闭区间。
下面n行,每行包含2个数字,表示闭区间[ai, bi]
输出格式:
一个整数,表示至少需要几个点
输入样例:
在这里给出一组输入。例如:
3
1 3
2 4
5 6
输出样例:
在这里给出相应的输出。例如:
2
#include <iostream>
#include <algorithm>
using namespace std;
struct qujian
{
int st;
int ed;
}q[100];
bool cmp(qujian a,qujian b)
{
return a.ed<b.ed;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>q[i].st>>q[i].ed;
sort(q,q+n,cmp);
int cnt=0;
int temp_ed=2e-7;
for(int i=0;i<n;i++)
{
if(q[i].st>temp_ed)
{
temp_ed=q[i].ed;
cnt++;
}
//图解为什么q[i].st<=temp_ed情况不用更新temp_ed
}
cout<<cnt;
return 0;
}