1 条题解

  • 0
    @ 2025-9-10 9:00:37

    C++ :

    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int N = 5005;
    struct city{
    	int x,y;
    };
    city a[N];
    int f[N];
    
    bool comp(city m,city n){
    	return m.x<n.x;
    }
    
    int main(){
    	int n;
    	cin>>n;
    	for (int i=1; i<=n; i++) cin>>a[i].x>>a[i].y;
    	fill(f,f+N,1);
    	sort(a+1,a+n+1,comp);
    	for (int i=2; i<=n; i++)
    		for (int j=1; j<=i-1; j++)
    			if (a[j].y<a[i].y) f[i]=max(f[i],f[j]+1);
    	int ans=f[1];
    	for (int i=2; i<=n; i++) ans=max(ans,f[i]);
    	cout<<ans<<endl;
    	return 0;
    }
    
    • 1

    信息

    ID
    3576
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者