题解 | #信封嵌套#
信封嵌套
https://www.nowcoder.com/practice/25fe1fc89c4c4e82bbc63df04bc6ca30
#include <iostream>
#include<algorithm>
using namespace std;
struct evl{
int len;
int wid;
};
bool comp(evl e1,evl e2){
return e1.len<e2.len;
}
int main() {
int n;
scanf("%d",&n);
evl arr[2010];
for(int i=0;i<n;i++){
scanf("%d %d",&arr[i].len,&arr[i].wid);
}
sort(arr,arr+n,comp);
int dp[2010];
fill(dp,dp+n,1);
int maxdp=1;
for(int i=1;i<n;i++){
for(int j=0;j<n;j++){
if(arr[i].len>arr[j].len&&arr[i].wid>arr[j].wid) dp[i]=max(dp[i],dp[j]+1);
}
maxdp=max(dp[i],maxdp);
}
printf("%d",maxdp);
}
// 64 位输出请用 printf("%lld")
查看2道真题和解析

