提交时间:2024-07-21 20:43:49

运行 ID: 158110

#include<bits/stdc++.h> using namespace std; const int N=4e4+10; struct Node { int a,b; }node[N]; int n; int f[N],ans; int main (){ cin>>n; for(int i=1;i<=n;i++){ f[i]=1; cin>>node[i].a >>node[i].b ; if(node[i].a >node[i].b )swap(node[i].a ,node[i].b ) ; } for(int i=1;i<=n;i++){ for(int j=1;j<i;j++){ if(node[j].b <=node[i].a||node[j].a >=node[i].b )f[i]=max(f[i],f[j]+1),ans=max(ans,f[i]); } } cout<<ans; }