【C++心路历程20】干草塔高

这篇博客探讨了一种新的奶牛游戏,涉及线性动态规划解决干草塔高度问题。给定N个不同尺寸的干草包,目标是找出能构建的最大高度的塔,其中每个干草包必须位于比它小的干草包之上。通过输入样例和数据范围,解释了如何使用动态规划策略来解决这一变种DAG问题。
摘要由CSDN通过智能技术生成

干草塔高 (线性动态规划)

【问题描述】

  奶牛们发明了一种新的游戏,有 N 个单位高度的长方体干草包,这些干草包底面的长和宽可能不一样。一头奶牛尝试选择了一些干草包制作出高度尽量高一个塔。在这个塔中,上面的包的长度和宽度都要小于下面的包的长度和宽度。帮助奶牛确定塔可实现最大高度。

【输入格式】

  第1行一个整数N。第2..N+1行,每行包含两个整数,表示干草包底面长或宽。

【输出格式】

  一个整数,塔的最大可能高度。

【输入样例】

6
6 9
10 12
9 11
8 10
7 8
10 5

【输出样例】

4

【数据范围】

  1<=N<=1000

变种DAG

//f(i) 用第i块砖为底所能达到的最高层数 

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值