【Luogu1929】【DP】迷之阶梯

这篇博客介绍了如何解决Luogu1929题目,即迷之阶梯问题。通过动态规划方法,计算出在给定限制条件下登上阶梯的最小移动步数。文章提供了输入输出样例,并详细解释了样例的解答过程以及数据范围。

迷之阶梯迷之阶梯


ด้้้้้็้้้็็็็็้้้้้็็็็็้้้้้้็็็็็้้้้้็็็็็้้้้้้็็็็็้้้้้็็็็็้้้้้้็็็็็้้้้้็็็็็้้้้้้็็ด้้้้้็้้้็็็็็้้้้้็็็็็้้้้้้็็็็็้้้้้็็็็็้้้้้้็็็็็้้้้้็็็็็้้้้้้็็็็็้้้้้็็็็็้้้้้้็็

请使用c++14 ## 题目背景 ![](https://cdn.luogu.com.cn/upload/image_hosting/e4xpr0c2.png) 图为 Dr. Philippe Garigue 收藏中的古籍书架。 图片来源:Taylor Tryburski,CC BY-SA 4.0。 ## 题目描述 在摆放书籍的问题上,藏书家与室内设计师往往难以达成一致:直立?横放?究竟哪种方式才是“正确”的? 而你,总是对传统见解保持怀疑,于是选择了——两者都要! 你的书架呈现出一种别具风格的组合:整齐直立的书籍旁,是一摞精心排列的水平堆叠书籍,看上去宛如文学版的阶梯神庙。整体效果既展示了波西米亚式的自由随性,又带着点可爱的学者式心不在焉,同时又有足够的精致暗示:你确实读过其中的一些书。 一本书由其书脊高度与厚度来描述。如果它的高度不超过书架的高度,则可以直立摆放。 或者,书也可以横放,彼此叠加成一摞;出于美观考虑,这个堆叠中书籍的书脊高度必须按不增顺序排列。堆叠中所有书籍的总厚度不得超过书架高度。 而直立书籍的总厚度与堆叠的宽度之和不得超过书架的宽度。 样例 1 中的书籍可以按照下图摆放: ![](https://cdn.luogu.com.cn/upload/image_hosting/vm62fwym.png) ## 输入格式 输入包含: - 一行,三个整数 $N$, $H$, $W$($2 \le N \le 100$, $130 \le H \le 350$, $300 \le W \le 900$),分别表示要摆放的书本数量、书架高度(毫米)与书架宽度(毫米), - 接下来 $N$ 行,每行两个整数 $h$, $t$($76 \le h \le 483$, $5 \le t \le 60$),表示一本书的书脊高度与厚度(毫米)。题目保证每本书单独放置时,既可直立也可横放,因此满足 $h \le \max(W, H)$。 ## 输出格式 输出两行。 第一行以单词 `upright` 开头,随后输出所有直立书籍的编号。 第二行以单词 `stacked` 开头,随后输出堆叠中书籍的编号,从底到顶依次排列。 要求至少有一本直立书籍,且至少有一本堆叠书籍。书籍编号为 $1$ 至 $N$。 如果答案不唯一,你可以输出任意一个。若不存在满足条件的摆放方式,则输出 `impossible`。 ## 输入输出样例 #1 ### 输入 #1 ``` 3 250 350 178 32 200 60 297 50 ``` ### 输出 #1 ``` upright 1 stacked 3 2 ``` ## 输入输出样例 #2 ### 输入 #2 ``` 2 300 300 290 60 290 60 ``` ### 输出 #2 ``` impossible ``` ## 说明/提示
最新发布
11-16
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值