谢谢各位
#include<bits/stdc++.h>
using namespace std;
struct tNode{
int a,b;
}t[5005];
int f[5005],ans=0;
bool my_cmp(tNode x,tNode y){
return x.a==y.a?x.b>x.b:x.a>y.a;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>t[i].a>>t[i].b;
sort(t+1,t+n+1,my_cmp);
for(int i=1;i<=n;i++){
int pos=lower_bound(f+1,f+n+1,t[i].b)-f;
f[i]=f[pos]+1;
ans=ans>f[i]?ans:f[i];
}
cout<<ans;
return 0;
}