zoukankan      html  css  js  c++  java
  • nyist -16


    #include <iostream>
    #include<cstring>
    using namespace std;
    struct node
    {
        int l,w;
    }dp[1005];
    int g[1005][1005];
    int d[1005];
    int n,max_v;
    int f(int i)
    {
        if (d[i]>0) return d[i];
        d[i]=1;
        for (int j=0;j<n;j++)
        {
            if (g[i][j])
                d[i]=max(d[i],f(j)+1);
        }
        max_v=max(max_v,d[i]);
        return d[i];
    }
    int main()
    {
      
        int N;
        cin>>N;
        while (N--)
        {
            cin>>n;
            int x,y;
             memset(g,0,sizeof(g));
            for (int i=0;i<n;i++)
            {
                cin>>x>>y;
                dp[i].l=max(x,y);
                dp[i].w=min(x,y);
            }
            for (int i=0;i<n;i++)
            {
                for (int j=i+1;j<n;j++)
                {
                    if (dp[i].l>dp[j].l && dp[i].w>dp[j].w)          g[j][i]=1;


                    else if ( dp[i].l<dp[j].l && dp[i].w<dp[j].w )      g[i][j]=1;

                    else g[j][i]=g[i][j]=0;
                }
                d[i]=0;
            }
            max_v=0;
            for (int i=0;i<n;i++)
                f(i);
            cout<<max_v<<endl;
        }
        return 0;
    }

    #include <iostream>

    using namespace std;


    struct node
    {
        int l,w;
    }dp[1005];


    int g[1005][1005];
    int d[1005];
    int k,max_v;
    int f(int i)
    {
        if (d[i]>0) return d[i];
        d[i]=1;
        for (int j=0;j<k;j++)
        {
            if (g[i][j])
                d[i]=max(d[i],f(j)+1);
        }
        max_v=max(max_v,d[i]);
        return d[i];
    }
    int main()
    {
        int n;
        cin>>n;
        while (n--)
        {
            cin>>k;
            int x,y;
            for (int i=0;i<k;i++)
            {
                cin>>x>>y;
                dp[i].l=max(x,y);
                dp[i].w=min(x,y);
            }


            for (int i=0;i<k;i++)
            {
                for (int j=i+1;  j<k;  j++)
                {
                    if (dp[i].l>dp[j].l && dp[i].w>dp[j].w)
                    {
                        g[j][i]=1;
                        g[i][j]=0;
                    }
                    else if (dp[i].l<dp[j].l && dp[i].w<dp[j].w)
                    {
                        g[j][i]=0;
                        g[i][j]=1;
                    }
                    else g[j][i]=g[i][j]=0;
                }
                d[i]=0;
            }
            max_v=0;
            for (int i=0;i<k;i++)
                f(i);
            cout<<max_v<<endl;
        }
        return 0;
    }
           

  • 相关阅读:
    新收入准则下的通用收入处理场景
    如果不先提出最佳问题,你怎么去找最佳答案呢?
    复星集团
    CFO的三重境界:阿里CFO蔡崇信教给我的那些事儿
    《让财务助推业务—业财融合》
    一、原材料、半成品、成品的采用标准成本法管理 [转发]
    顶级投行?IT->Data Analysis->Forecast->Future.
    SAP 合资公司解决方案
    SAP-关于分类账(Ledgers)的总结
    百度网盘目录树在线V2.0版功能介绍~
  • 原文地址:https://www.cnblogs.com/2014acm/p/3914393.html
Copyright © 2011-2022 走看看