hdu 1069 (dp)
来源:互联网 发布:h5牛牛源码下载 编辑:程序博客网 时间:2024/05/16 18:32
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{
int l,w,h;
} s[111];
int dp[111];
int cmp(node a,node b)
{
if(a.l>b.l) return 1;
if(a.l==b.l&&a.w>b.w) return 1;
else return 0;
}
int main()
{
int n, flag=0;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
int a[3], k=0;
for(int i=0; i<n; i++)
{
scanf("%d%d%d",&a[0],&a[1],&a[2]);
sort (a,a+3);//(保证长一定大于宽,其次使高有三种情况)
s[k].l = a[2];
s[k].w = a[1];
s[k].h = a[0];
k++;
s[k].l = a[2];
s[k].w = a[0];
s[k].h = a[1];
k++;
s[k].l = a[1];
s[k].w = a[0];
s[k].h = a[2];
k++;
}
sort(s,s+k,cmp);//(将所有的砖块进行排序)
for(int i=0; i<k; i++)
dp[i] = s[i].h;
for(int i=k-2; i>=0; i--)//下面一层
for(int j=i+1; j<k; j++)//上面一层
{
if(s[i].l>s[j].l && s[i].w>s[j].w)//(每块砖保证下面一块的长宽均大于下面一块)
if(dp[i] < dp[j]+s[i].h)//(考虑高的的变化)
dp[i] = dp[j]+s[i].h;
}
int sum = dp[0];
for(int i=0; i<k; i++)//找最高的数
{
if(sum<dp[i])
sum=dp[i];
}
printf("Case %d: maximum height = %d\n",++flag,sum);
}
}
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{
int l,w,h;
} s[111];
int dp[111];
int cmp(node a,node b)
{
if(a.l>b.l) return 1;
if(a.l==b.l&&a.w>b.w) return 1;
else return 0;
}
int main()
{
int n, flag=0;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
int a[3], k=0;
for(int i=0; i<n; i++)
{
scanf("%d%d%d",&a[0],&a[1],&a[2]);
sort (a,a+3);//(保证长一定大于宽,其次使高有三种情况)
s[k].l = a[2];
s[k].w = a[1];
s[k].h = a[0];
k++;
s[k].l = a[2];
s[k].w = a[0];
s[k].h = a[1];
k++;
s[k].l = a[1];
s[k].w = a[0];
s[k].h = a[2];
k++;
}
sort(s,s+k,cmp);//(将所有的砖块进行排序)
for(int i=0; i<k; i++)
dp[i] = s[i].h;
for(int i=k-2; i>=0; i--)//下面一层
for(int j=i+1; j<k; j++)//上面一层
{
if(s[i].l>s[j].l && s[i].w>s[j].w)//(每块砖保证下面一块的长宽均大于下面一块)
if(dp[i] < dp[j]+s[i].h)//(考虑高的的变化)
dp[i] = dp[j]+s[i].h;
}
int sum = dp[0];
for(int i=0; i<k; i++)//找最高的数
{
if(sum<dp[i])
sum=dp[i];
}
printf("Case %d: maximum height = %d\n",++flag,sum);
}
}
0 0
- HDU 1069 dp
- HDU 1069 DP
- hdu 1069 DP
- HDU 1069 DP
- hdu 1069 dp
- HDU 1069 dp
- hdu 1069 dp
- HDU 1069 (DP)
- HDU 1069 DP 经典
- hdu 1069 (dp)
- DP HDU-1069
- #HDU 1069 简单dp
- HDU 1069 dp??
- hdu 1069(dp)
- HDU 1069 DP
- hdu 1069 dp
- [DP] HDU 1069
- HDU DP
- SDUT 3348 数据结构实验之数组二:稀疏矩阵
- 关于Unity中Awake等函数执行以及预制体的使用
- PHP学习Day1
- HDU-1242-Rescue【BFS】
- 隐藏显示导航栏切换不流畅的问题
- hdu 1069 (dp)
- GZIP压缩原理分析(02)——第二章 背景简介
- Oracle 约束条件与数据表
- JavaWEB中读取配置信息
- Spring Ehcache代码实现监控
- sdut oj2134 数据结构实验之栈四:括号匹配
- 图种制作方法 vbs脚本
- static const
- iOS 常用Category类别分享