#P16764. [GKS 2020 #E] High Buildings
[GKS 2020 #E] High Buildings
题目描述
在某国,Google 有一个由 栋办公楼组成的园区,这些楼排成一行,从左到右编号为 到 。以米为单位时,每栋楼的高度是介于 到 之间的整数。
Andre 和 Sule 是该园区的两名 Google 员工。午休时,他们想看看他们工作园区的天际线。因此,Andre 走到了园区的最左端(即 号楼左侧),面向园区的最右端(即 号楼右侧)。类似地,Sule 走到了园区的最右端,面向园区的最左端。
对 Andre 而言,一栋楼 是可见的,当且仅当在 左侧没有严格比 高的楼。同样,对 Sule 而言,一栋楼 是可见的,当且仅当在 右侧没有严格比 高的楼。
Andre 得知有 栋楼对他可见,而 Sule 得知有 栋楼对他可见。他们汇合交换信息后,还得知有 栋楼对两人都可见。
他们想知道每栋楼的高度。他们向你提供了 、、 和 的值。作为他们的朋友,你需要为每栋楼构造一个可能的高度,使得上述信息正确,或者指出不存在符合该信息的高度构造方案(因此他们中至少有一人弄错了)。
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。每个测试用例由一行四个整数 、、 和 组成,表示 Andre 和 Sule 提供的信息。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始)。如果不存在符合上述信息的高度方案,则 为 IMPOSSIBLE;否则 为 个空格分隔的整数,其中第 个整数表示第 栋楼的高度(米),取值范围为 到 。
3
4 1 3 1
4 4 4 3
5 3 3 2
Case #1: 4 1 3 2
Case #2: IMPOSSIBLE
Case #3: 2 1 5 5 3
提示
在样例 #1 中,样例输出设置的高度使得只有第 栋楼对 Andre 可见,而第 、、 栋楼对 Sule 可见。因此,只有第 栋楼对两人都可见。注意,还存在其他正确的解,例如 。
在样例 #2 中,所有 栋楼对 Andre 和 Sule 都可见。因此,在这种情况下不可能出现 。
在样例 #3 中,样例输出设置的高度使得第 、、 栋楼对 Andre 可见,第 、、 栋楼对 Sule 可见。因此,第 和第 栋楼对两人都可见。注意,还存在其他正确的解。
限制条件
。
。
。
。
测试集 1
。
测试集 2
。
翻译由 DeepSeek V4 Pro 完成