Grisses @ 2021-12-06 13:36:20
#include<bits/stdc++.h>
using namespace std;
int n,m,tot,p[2005],cnt,l[2005],ans;
struct node{
int a,b;
}a[1005];
map<int,int>s;
map<int,bool>M;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)scanf("%d%d",&a[i].a,&a[i].b),a[i].b=min(n,a[i].b),p[++tot]=a[i].a,p[++tot]=a[i].b;
sort(p+1,p+tot+1);
for(int i=1;i<=tot;i++)if(p[i]!=p[i-1])s[p[i]]=++cnt;
for(int i=1;i<=m;i++){
for(int j=s[a[i].a];j<=s[a[i].b];j++)l[j]=i;
}
for(int i=1;i<=cnt;i++){
cerr<<l[i]<<' ';
if(M.count(l[i])==0){
ans++;
M[l[i]]=1;
}
}
printf("%d",ans);
return 0;
}
这里