P14496 [NCPC 2025] Bohemian Bookshelf

题目背景

:::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/e4xpr0c2.png) 图为 Dr. Philippe Garigue 收藏中的古籍书架。 图片来源:Taylor Tryburski,CC BY-SA 4.0。 :::

题目描述

在摆放书籍的问题上,藏书家与室内设计师往往难以达成一致:直立?横放?究竟哪种方式才是“正确”的? 而你,总是对传统见解保持怀疑,于是选择了——两者都要! 你的书架呈现出一种别具风格的组合:整齐直立的书籍旁,是一摞精心排列的水平堆叠书籍,看上去宛如文学版的阶梯神庙。整体效果既展示了波西米亚式的自由随性,又带着点可爱的学者式心不在焉,同时又有足够的精致暗示:你确实读过其中的一些书。 一本书由其书脊高度与厚度来描述。如果它的高度不超过书架的高度,则可以直立摆放。 或者,书也可以横放,彼此叠加成一摞;出于美观考虑,这个堆叠中书籍的书脊高度必须按不增顺序排列。堆叠中所有书籍的总厚度不得超过书架高度。 而直立书籍的总厚度与堆叠的宽度之和不得超过书架的宽度。 样例 1 中的书籍可以按照下图摆放: :::align{center} ![](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`。

说明/提示

翻译由 ChatGPT-5 完成