zoukankan      html  css  js  c++  java
  • UVA 103

    /*
      这题说的的是 N 维的坐标, 每个盒子的N维坐标 可以进行 随意方式的调换
      然后求出 A全部的坐标小于B的 则 A 可以嵌套在B中 然后 计算出最多的 盒子嵌套个数
      简单的状态转移 我为何如此的弱
    */
    #include <iostream>
    #include <cstdio>
    #include <string.h>
    #include <algorithm>
    #include <stack>
    #include <queue>
    #include <vector>
    using namespace std;
    const int maxn=35;
    const int maxm=15;
    int N[maxn][maxm];
    int dp[maxn];
    int lis,mlis,n,m,per[maxn];
    bool  mark[maxn][maxn];
    stack<int>TT;
    bool jud(int a,int b){
        int f=0;
         for(int i=0;i<m;i++)
        if(N[a][i]<=N[b][i])
            { f=1; break; }
          if(f) return false;
         return true;
    }
    int main()
    {
    
        while(scanf("%d%d",&n,&m)==2){
              per[0]=lis=0;
              dp[0]=1;
             for(int i=1;i<=n;i++) {
              dp[i]=1; per[i]=0;
             }
             for(int i=1;i<=n;i++){
                for(int  j=0;j<m;j++)
                  scanf("%d",&N[i][j]);
                  sort(N[i],N[i]+m);
             }
            for(int i=1;i<=n;i++)
                for(int j=1;j<=n;j++)
                      mark[i][j]=jud(i,j);
            for(int k=0;k<n;k++)
                for(int i=1;i<=n;i++){
                   for(int j=1;j<=n;j++)
                     if(i!=j&&mark[i][j]&&dp[i]<dp[j]+1){
                        dp[i]=dp[j]+1;
                        per[i]=j;
                }
                 if(dp[i]>lis){
                        lis=dp[i];
                        mlis=i;
                 }
            }
            printf("%d
    ",lis);
            TT.push(mlis);
            int jj;
            while(1){  jj=per[mlis];if(jj==0) break;TT.push(jj);mlis=jj;  }
              jj=TT.top();TT.pop();
              printf("%d",jj);
            while(!TT.empty()){  jj=TT.top();TT.pop();printf(" %d",jj);  }
            printf("
    ");
        }
        return 0;
    }
    


  • 相关阅读:
    《刀塔传奇》
    SSH端口转发
    objective-c与c++的差异
    mysql 远程连接速度慢的解决方案
    maven
    automapper 自动映射 集成asp.net Core2.1
    swagger 集成asp.net Core2.1
    asp.net Core 跨域配置
    处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
    SharedPreferences
  • 原文地址:https://www.cnblogs.com/Opaser/p/3662068.html
Copyright © 2011-2022 走看看