1 solutions
-
0
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
Information
- ID
- 18658
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By