Submit Time:2021-12-15 13:33:32

运行 ID: 35397

#include <iostream> #include <cstdlib> #include <cstdio> #include <algorithm> using namespace std; struct city { int x; int y; }citys[10000]; int f[50010]={0}; bool comp(const city & a,const city & b) { return a.x<b.x; } int main () { int n; scanf("%d",&n); for (int i=1;i<=n;i++) { scanf("%d%d",&citys[i].x,&citys[i].y); f[i]=1; } sort(citys+1,citys+1+n,comp); int maxnum=0; for (int i=1;i<=n;i++) { for (int j=1;j<i;j++) { if (citys[j].y<citys[i].y) { f[i]=max(f[i],f[j]+1); } } maxnum=max(maxnum,f[i]); } printf("%d\n",maxnum); return 0; }