博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1069 Monkey and Banana (DP)
阅读量:5042 次
发布时间:2019-06-12

本文共 1102 字,大约阅读时间需要 3 分钟。

1,输入箱子的种类数

2,输入各个箱子的长宽高;

求各个箱子放起来达到的最大高度,要求,下面的箱子的长和宽都比上面的要大!!

#include"stdio.h"#include"stdlib.h"struct A{	int x;	int y;	int h;}each[100];int cmp(const void*a,const void*b) { 	struct A *c,*d;	c=(struct A*)a;	d=(struct A*)b;    if(c->x!=d->x)         return d->x-c->x;     else         return d->y-c->y; }int main(){	int n;	int i,l;	int k;	int x,y,z;	int dp[100];	int max;	int Case=1;	while(scanf("%d",&n),n)	{		k=0;		for(i=0;i
y?x:y; each[k].y=x>y?y:x; each[k].h=z; k++; each[k].x=x>z?x:z; each[k].y=x>z?z:x; each[k].h=y; k++; each[k].x=z>y?z:y; each[k].y=z>y?y:z; each[k].h=x; k++; } qsort(each,k,sizeof(each[0]),cmp); dp[0]=each[0].h; for(i=1;i
=0;l--) { if((each[l].y>each[i].y&&each[l].x>each[i].x)||(each[l].y>each[i].x&&each[l].x>each[i].y)) { if(dp[l]>max) max=dp[l]; } } dp[i]=max+each[i].h; } max=0; for(i=0;i
max) max=dp[i]; } printf("Case %d: maximum height = %d\n",Case,max); Case++; } return 0;}

转载于:https://www.cnblogs.com/yyf573462811/archive/2012/10/15/6365194.html

你可能感兴趣的文章
AngularJS学习篇(一)
查看>>
【转载】 IP实时传输协议RTP/RTCP详解
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
Linux系统的数据写入机制--延迟写入
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
时间>金钱
查看>>
元数据元素
查看>>
Visual Studio Code 构建C/C++开发环境
查看>>
web自己主动保存表单
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
创建与删除索引
查看>>
java的基本数据类型
查看>>
机器学些技法(9)--Decision Tree
查看>>
静态页面复习--用semantic UI写一个10min首页
查看>>
在Windows下安装64位压缩包版mysql 5.7.11版本的方法
查看>>
drf权限组件
查看>>
输入月份和日期,得出是今年第几天
查看>>
利用mysqldump备份mysql
查看>>