#P14496. [NCPC 2025] Bohemian Bookshelf
[NCPC 2025] Bohemian Bookshelf
题目背景
:::align{center}

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