码迷,mamicode.com
首页 > 其他好文 > 详细

ZOJ - 1093 Monkey and Banana

时间:2014-07-19 15:04:56      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   re   

DAG嵌套模型,状态方程由1改成高度就行。

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 #define doumax(a,b) (a>b?a:b)
 5 const int maxn=100;
 6 int mat[maxn][maxn],dp[maxn],n,a[35][5],nodenum;
 7 struct node{
 8     int l,w,h;
 9     void init(int x,int y,int z)
10     {
11         l=x;w=y;h=z;
12     }
13     bool operator<(const node & temp)
14     {
15         return l<temp.l && w<temp.w;
16     }
17 }block[maxn];
18 int dpmodel(int i);
19 int main()
20 {
21     int t=1;
22     while(scanf("%d",&n)==1 && n){
23         nodenum=0;
24         memset(mat,0,sizeof(mat));
25         memset(dp,0,sizeof(dp));
26         for(int i=0;i<n;i++){
27             scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
28             std::sort(a[i],a[i]+3);
29             for(int j=0;j<2;j++)
30             for(int k=j+1;k<3;k++)
31                 block[++nodenum].init(a[i][j],a[i][k],a[i][3-j-k]);
32             }
33             for(int i=1;i<=nodenum;i++)
34             for(int j=i+1;j<=nodenum;j++){
35                 if(block[i]<block[j])
36                     mat[i][j]=1;
37                 else if(block[j]<block[i])
38                     mat[j][i]=1;
39             }
40             int maxheight=0;
41             for(int i=1;i<=nodenum;i++){
42                 if(!dp[i]){
43                     int ans=dpmodel(i);
44                     if(maxheight<ans)
45                     maxheight=ans;
46                 }
47             }
48             printf("Case %d: maximum height = %d\n",t++,maxheight);
49         }
50         return 0;
51 }
52 int dpmodel(int i)
53 {
54     if(dp[i]>0)
55         return dp[i];
56     dp[i]=block[i].h;
57     for(int j=1;j<=nodenum;j++)
58         if(mat[i][j])
59         dp[i]=doumax(dp[i],dpmodel(j)+block[i].h);
60     return dp[i];
61 }

ZOJ - 1093 Monkey and Banana,布布扣,bubuko.com

ZOJ - 1093 Monkey and Banana

标签:style   blog   color   io   for   re   

原文地址:http://www.cnblogs.com/BMESwimming/p/3854194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!