提交时间:2023-04-08 11:06:58
运行 ID: 73668
#include<bits/stdc++.h> using namespace std; int n,mi; struct node{ int a,b,l; bool operator <(const node &y)const { return a<y.a; } }x[10001]; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>x[i].a>>x[i].b; x[i].l=1; } sort(x+1,x+n+1); for(int i=n-1;i>=1;i--) { mi=0; for(int j=i+1;j<=n;j++) { if(x[i].b<x[j].b&&x[j].l>mi&&x[i].a<x[j].a) { mi=x[j].l; } } x[i].l=mi+1; } mi=x[1].l; for(int i=1;i<=n;i++) if(x[i].l>mi)mi=x[i].l; cout<<mi; return 0; }