题目描述 给定 n 个矩形,其中第 i 个矩形的长为 ai,宽为 bi。如果某个矩形的长不超过另一个矩形的长,且这个矩形的宽也不超过另一个矩形的宽。那么这个矩形就是可以嵌在另一个矩形里。
矩形之间可以多层嵌套,请计算这些矩形最多能嵌套多少层。注意每个矩形的长宽不可互换。
输入格式
第一行:单个整数 n
第二行到第 n+1 行:第 i+1 行有两个整数表示 ?? 与 ??。
输出格式
单个整数:表示矩形嵌套的最大层数。
乐子不会用LaTeX。
附上10pts代码(哇)
#include<bits/stdc++.h>
using namespace std;
struct node
{
int c,k;
}a[200055];
bool cmp(node x,node y)
{
return x.c<y.c&&x.k<y.k;
}
int n,ans=0;
int main()
{
//freopen("nesting.in","r",stdin);
//freopen("nesting.out","w",stdout);
int i,j;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i].c>>a[i].k;
}
sort(a+1,a+n+1,cmp);
for(i=1;i<=n;i++)
{
if(a[i].c>a[i-1].c&&a[i].k>a[i-1].k)
{
ans++;
}
}
cout<<ans;
return 0;
}