zoukankan      html  css  js  c++  java
  • hdu 1069 Monkey and Banana (最长上升子序列)

    http://acm.hdu.edu.cn/showproblem.php?pid=1069

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    struct Node
    {
      int a,b,c,dp;
    };
    Node node[3000];
    int cmp(Node x,Node y)
    {
      if(x.a==y.a) return x.b<y.b;
      return x.a<y.a;
    }
    
    int main()
    {
      int n;
      int i,j,k;
      int a,b,c;
      int cas=1;
      while(scanf("%d",&n),n)
      {
        for(i=1;i<=6*n;i++)
        {
          scanf("%d%d%d",&a,&b,&c);
          node[i].a=a;node[i].b=b;node[i].dp=node[i].c=c;i++;
          node[i].a=a;node[i].b=c;node[i].dp=node[i].c=b;i++;
          node[i].a=b;node[i].b=a;node[i].dp=node[i].c=c;i++;
          node[i].a=b;node[i].b=c;node[i].dp=node[i].c=a;i++;
          node[i].a=c;node[i].b=a;node[i].dp=node[i].c=b;i++;
          node[i].a=c;node[i].b=b;node[i].dp=node[i].c=a;
        }
        sort(node+1,node+6*n+1,cmp);
        int maxx=node[6*n].c;
        for(i=6*n-1;i>=1;i--)
        {
          for(j=i+1;j<=6*n;j++)
          {
            if(node[i].a<node[j].a&&node[i].b<node[j].b&&node[i].dp<node[i].c+node[j].dp)
              node[i].dp=node[i].c+node[j].dp;
          }
          if(node[i].dp>maxx) maxx=node[i].dp;
        }
        /*printf("ssssssssssssssssss
    ");
        for(i=1;i<=6*n;i++)
        {
          printf("%d %d %d %d
    ",node[i].a,node[i].b,node[i].c,node[i].dp);
        }*/
    
        printf("Case %d: maximum height = %d
    ",cas++,maxx);
      }
      return 0;
    }
    

      

  • 相关阅读:
    第一周学习总结
    lhgdialog窗口插件
    validate验证
    jxl自己写的例子
    jxl导入/导出excel
    struts2文件上传
    struts2基于注解的文件下载
    学校操场的印象
    我的开源项目:JPEG分析器
    我的开源项目:TS封装格式分析器
  • 原文地址:https://www.cnblogs.com/sola1994/p/4322176.html
Copyright © 2011-2022 走看看