题解 | #信封嵌套#

信封嵌套

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")

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务