裸题 就不放题目了
直接上代码
#include<iostream>
#include<algorithm>
using namespace std;
typedef pair<int,int> PII;
const int N = 100010;
PII q[N],s[N];
int n,cnt;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d%d",&q[i].first,&q[i].second);
sort(q+1,q+n+1);
int st =-1e9,ed=-1e9;
for(int i=1;i<=n;i++){
if(ed < q[i].first) {
st=q[i].first,ed = max(ed,q[i].second);
if(st!=-1e9) s[cnt++] = {st,ed};
}else {
ed = max(ed,q[i].second);
}
if(st != -1e9) s[cnt++] = {st,ed};
}
int res = 0;
for(int i=1;i<cnt;i++){
if(s[i].first!=s[i-1].first) res++;
}
cout<<(res+1)<<endl;
}