提交时间:2023-04-08 08:28:07

运行 ID: 73599

#include<bits/stdc++.h> using namespace std; int n,ans; struct node{ int a,b,l; bool operator <(const node &y)const { return a<y.a; } }a[10001]; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].a>>a[i].b; a[i].l=1; } sort(a+1,a+n+1); for(int i=n-1;i>=1;i--) { ans=0; for(int j=i+1;j<=n;j++) { if(a[i].b<a[j].b&&a[i].a<a[j].a) { ans=max(ans,a[j].l); } } a[i].l=ans+1; } ans=a[1].l; for(int i=1;i<=n;i++){ if(a[i].l>ans)ans=a[i].l; } cout<<ans; return 0; }