杭电1069_01背包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069
题目大意:给你n块砖, 每块的长, 宽, 高, 可以任意转换方位, 每种砖都有无限个, 用这些砖叠成塔, 上面的长宽要小于在它下面的长宽, 求塔高最高是多少?
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <cstdlib> 6 #include <cmath> 7 #include <set> 8 #include <map> 9 #include <vector> 10 using namespace std; 11 12 struct node 13 { 14 int l, w, h; 15 }a[100]; 16 int cmp(node a, node b) 17 { 18 if(a.l != b.l) 19 return a.l > b.l; 20 else 21 return a.w > b.w; 22 } 23 int main() 24 { 25 int n, x[3], i, j, dp[100], cnt = 0; 26 while(~scanf("%d", &n)) 27 { 28 cnt++; 29 if(n == 0) 30 break; 31 for(i = 1; i <= n; i++) 32 { 33 scanf("%d %d %d", &x[0], &x[1], &x[2]); 34 sort(x, x + 3); 35 a[i * 3].l = x[2], a[i * 3].w = x[1], a[i * 3].h = x[0]; 36 a[i * 3 - 1].l = x[1], a[i * 3 - 1].w = x[0], a[i * 3 - 1].h = x[2]; 37 a[i * 3 - 2].l = x[2], a[i * 3 - 2].w = x[0], a[i * 3 - 2].h = x[1]; 38 } 39 sort(a + 1, a + n * 3 + 1, cmp); 40 memset(dp, 0, sizeof(dp)); 41 int sum = 0; 42 for(i = 1; i <= n * 3; i++) 43 { 44 int t = 0; 45 for(j = 1; j <= i; j++) 46 { 47 if(a[i].l < a[j].l && a[i].w < a[j].w && t < dp[j]) 48 t = dp[j]; 49 } 50 dp[i] = t + a[i].h; 51 if(dp[i] > sum) 52 sum = dp[i]; 53 } 54 printf("Case %d: maximum height = %d\n", cnt, sum); 55 } 56 return 0; 57 }
转载于:https://www.cnblogs.com/luomi/p/5475280.html
杭电1069_01背包相关推荐
- 杭电1284钱币兑换问题—背包dp/母函数(java)
Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Out ...
- 2022杭电多校第八场题解
2022杭电多校第八场 Theramore(思维) 题意 给定一个01字符串,每次可以将一个奇数长度的区间翻转,求操作后字典序最小的字符串. 分析 翻转奇数长度的区间,元素位置的奇偶性不变,统计奇数位 ...
- 2022“杭电杯”中国大学生算法设计超级联赛(8)
2022"杭电杯"中国大学生算法设计超级联赛(8) [题目链接](Search Result (hdu.edu.cn)) D Quel'Thalas 题目大意 在二维平面上,[0, ...
- hdoj杭电问题分类
杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...
- 杭电46道DP牛人总结
原文地址:杭电46道DP牛人总结作者:飞泉鸣玉 杭电46道DP牛人总结 HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] 收藏 Robberies http://acm.hdu. ...
- 2022“杭电杯”中国大学生算法设计超级联赛 (1) 杭电多校第一场 2 3 4 5 8 12
题目 1002 Dragon slayer 标程 1003 Backpack AC代码 1004 Ball AC代码 1008 Path AC代码 1009 Laser AC代码 1012 Alice ...
- 杭电60道DP问题总结(一)
杭电60道DP问题总结: DP是一个很有艺术的思想.看似简单的背后却隐藏着深刻的含义. 题目连接地址:http://acm.hdu.edu.cn/problemclass.php?id=516& ...
- 2022杭电多校(一)
2022杭电多校(一) 文章目录 2022杭电多校(一) 一.比赛小结 二.题目分析及解法(基础题) 1001.String 1002.Dragon slayer 1003.BackPack 1004 ...
- 【杭电ACM】1097 A hard puzzle
[杭电ACM]1097 A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...
最新文章
- 杨超越的声音+高晓松的脸~如此酸爽的技术,你值得拥有!
- cocos2d 左下角三行
- mysql 优化300例_PHP+MySQL实现对一段时间内每天数据统计优化操作实例
- 新手如何快速上手Linux,韦东山告诉你。
- ssh自动输入密码登录服务器/ssh免输入密码登录/非交互ssh 密码验证
- 5.TCP/IP 详解卷1 ---RARP:逆地址解析协议
- 【深度解析】Google第二代深度学习引擎TensorFlow开源
- Eclipse maven构建springmvc项目
- 数据结构:顺序栈的基本操作及实现
- python提取身份证信息查询_Python+Opencv身份证号码区域提取及识别实现
- 信创项目基础软件都包括哪些?你要了解
- mysql 左连接查询只取右边一条数据_MySQL的左连接查询,只取出最大的一条数据...
- 勾股数规律(任意三个数能够满足勾股定理需要满足的条件)
- vue.jsv-html,Vue.js-资料-组件化思想 —下
- Python中的if __name__ == ‘__main__‘什么意思?
- dss nginx 403 forbidden
- CompareTo和compare的区别
- 数据结构(邓俊辉)-[第8章]
- pip 安装protobuf_Python3.6安装protobuf模块+将proto文件转换成pb2.py文件
- rtl8139网卡驱动源码解析
热门文章
- 疯狂ios讲义疯狂连载之日期选择器(UIDatePicker)
- window 服务(一)
- 今天做了一个DNN的模块,填到它默认的home页(关于DNN新建模块无法操作)
- 冯小刚导演系列公益短片之林心如版
- row height
- cambridge sharing note 1
- python基础:并行遍历ZIP()函数介绍
- 上海启动5G试用!104页PPT,为你深度解析5G终端的创新和机遇
- 4.编写程序,打印1到100之内的整数,但数字中包含7的要跳过
- 6.1-6.4 gzip、Bzip2、xz