NYOJ_16_長方形のネスト

4911 ワード

少し小さな穴の厳格な単調な増加シーケンスは、主にそこに穴を並べた.
考え方:矩形のネスト?  (a#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<string> using namespace std; struct point { int x,y; }p[1005]; bool cmp(point a,point b) { if(a.x==b.x) // y return a.y>b.y; return a.x<b.x; } int main() { int t,n,i,j,k,a,b,re[1005][2]; //re[i][j] i scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;++i) { scanf("%d%d",&a,&b); if(a>b) swap(a,b); // a<b p[i].x=a; p[i].y=b; } sort(p,p+n,cmp); int count=0; // re[0][0]=0,re[0][1]=0; for(i=0;i<n;++i) for(j=count;j>=0;--j) { if(p[i].x>re[j][0]&&p[i].y>re[j][1]) // { re[j+1][0]=p[i].x; re[j+1][1]=p[i].y; if(j+1==count+1) count++; break; } } printf("%d
",count); } return 0; }