#P16764. [GKS 2020 #E] High Buildings

    ID: 19108 远端评测题 1000ms 1024MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>2020Special Judge构造分类讨论Google Kick Start

[GKS 2020 #E] High Buildings

题目描述

在某国,Google 有一个由 NN 栋办公楼组成的园区,这些楼排成一行,从左到右编号为 11NN。以米为单位时,每栋楼的高度是介于 11NN 之间的整数。

Andre 和 Sule 是该园区的两名 Google 员工。午休时,他们想看看他们工作园区的天际线。因此,Andre 走到了园区的最左端(即 11 号楼左侧),面向园区的最右端(即 NN 号楼右侧)。类似地,Sule 走到了园区的最右端,面向园区的最左端。

对 Andre 而言,一栋楼 xx 是可见的,当且仅当在 xx 左侧没有严格比 xx 高的楼。同样,对 Sule 而言,一栋楼 xx 是可见的,当且仅当在 xx 右侧没有严格比 xx 高的楼。

Andre 得知有 AA 栋楼对他可见,而 Sule 得知有 BB 栋楼对他可见。他们汇合交换信息后,还得知有 CC 栋楼对两人都可见。

他们想知道每栋楼的高度。他们向你提供了 NNAABBCC 的值。作为他们的朋友,你需要为每栋楼构造一个可能的高度,使得上述信息正确,或者指出不存在符合该信息的高度构造方案(因此他们中至少有一人弄错了)。

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。每个测试用例由一行四个整数 NNAABBCC 组成,表示 Andre 和 Sule 提供的信息。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始)。如果不存在符合上述信息的高度方案,则 yyIMPOSSIBLE;否则 yyNN 个空格分隔的整数,其中第 ii 个整数表示第 ii 栋楼的高度(米),取值范围为 11NN

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 中,样例输出设置的高度使得只有第 11 栋楼对 Andre 可见,而第 113344 栋楼对 Sule 可见。因此,只有第 11 栋楼对两人都可见。注意,还存在其他正确的解,例如 44 33 11 22

在样例 #2 中,所有 N=4N = 4 栋楼对 Andre 和 Sule 都可见。因此,在这种情况下不可能出现 CNC \ne N

在样例 #3 中,样例输出设置的高度使得第 113344 栋楼对 Andre 可见,第 334455 栋楼对 Sule 可见。因此,第 33 和第 44 栋楼对两人都可见。注意,还存在其他正确的解。

限制条件

1T1001 \le T \le 100

1CN1 \le C \le N

CANC \le A \le N

CBNC \le B \le N

测试集 1

1N51 \le N \le 5

测试集 2

1N1001 \le N \le 100

翻译由 DeepSeek V4 Pro 完成