UVa437
来源:互联网 发布:linux系统字体中文乱码 编辑:程序博客网 时间:2024/04/29 20:30
用二元组(idx,k)表示状态
idx为顶面立方体序号,k是高的序号。
状态(3,1)就是这个立方体在顶面,且高是b
#include<bits/stdc++.h>using namespace std;struct node{ int x,y,z; void f(int a,int b,int c){ x=a,y=b,z=c; }}st[200];bool cmp(node a,node b){ if(a.x*a.y < b.x*b.y) return 1; return 0;}int n,m,x,y,z,dp[200];int main(){ int flag=1; while(scanf("%d",&n)&&n){ m=0; int i,j; for(i=0;i<n;i++){ scanf("%d%d%d",&x,&y,&z); st[ m++].f(x,y,z); //将6种立方体均保存起来 st[ m++].f(x,z,y); st[ m++].f(y,z,x); st[ m++].f(y,x,z); st[ m++].f(z,x,y); st[ m++].f(z,y,x); } sort(st,st+m,cmp); int t=0; for(i=0;i<m;i++){ dp[i]=st[i].z; for(j=0;j<i;j++) if(st[i].x>st[j].x &&st[i].y>st[j].y) dp[i]=max(dp[i],dp[j]+st[i].z); if(dp[i]>t) t=dp[i]; } printf("Case %d: maximum height = %d\n",flag++,t); } return 0;}
0 0
- uva437
- UVa437
- uva437
- uva437
- UVA437
- UVA437
- UVa437
- uva437
- UVA437(DP)
- uva437 DAG
- [DP] UVA437
- uva437(经典DAG题目)
- uva437 动态规划
- UVa1025/UVa437/UVa1347
- uva437 巴比伦塔
- uva437 DAG最长路
- UVA437- - The Tower of Babylon
- UVa437 The Tower of Babylon
- NYOJ-91阶乘之和
- 数据库的一点小总结
- 在raspberry通过PHP调用python中simplecv进行远程监控
- 安装双系统
- 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
- UVa437
- 日期操作类(Date、Calendar、DateFomat、SimpleDateFormat类)
- [UE]《Microinteractions》
- 网络各层设备
- bzoj1477: 青蛙的约会
- Ubuntu安装rime(记录)
- warning C4244: “初始化”: 从“double”转换到“int”,可能丢失数据警告
- 根据前序遍历和中序遍历树构造二叉树
- iOS --- 使用NSTimer设置定时任务的注意事项