#P12948. [GCJ Farewell Round #1] Rainbow Sort
[GCJ Farewell Round #1] Rainbow Sort
Description
你的朋友 Charles 给你出了一个挑战。他在桌上排列了 张卡片,并按他选择的顺序排成一条直线。每张卡片有一种颜色,同一种颜色可能出现在多张卡片上。
Charles 要求你在不改变他原有排列顺序的前提下,为每张卡片写上一个正整数,满足以下条件:
- 当从左到右阅读卡片时,卡片上的数字必须是非递减的。
- 相同颜色的卡片必须写上相同的数字。
- 不同颜色的卡片必须写上不同的数字。
最后,Charles 希望你按照数字从小到大的顺序排列这些颜色。例如,如果蓝色卡片写的是 2,红色卡片写的是 5,绿色卡片写的是 3,那么颜色顺序应为蓝色、绿色、红色。
Input Format
输入的第一行给出测试用例的数量 。随后是 个测试用例。
每个测试用例的第一行包含一个整数 。接下来一行包含 个整数 $\mathbf{S}_1, \mathbf{S}_2, \ldots, \mathbf{S}_\mathbf{N}$,其中 表示从左数第 张卡片的颜色。
Output Format
对于每个测试用例,输出一行 Case #x: y,其中 是测试用例编号(从 1 开始), 是按要求顺序排列的颜色集合(每个颜色仅出现一次)。如果无法在满足所有规则的情况下为卡片写上数字,则 应为 IMPOSSIBLE。
2
4
3 8 8 2
5
3 8 2 2 8
Case #1: 3 8 2
Case #2: IMPOSSIBLE
Hint
样例解释
在样例 #1 中,4 张卡片共有 3 种不同颜色。一种可行的解决方案是按顺序写上以下数字:1、2、2、3。注意颜色为 8 的两张卡片都写上了相同的数字 2。因此,颜色的顺序为 3、8、2。
在样例 #2 中,设 和 分别为颜色 8 和 2 的卡片上写的数字。如果 ,那么最右侧的两张卡片上的数字将不是非递减的;如果 ,则左侧第二和第三张卡片会出现同样的问题;而 又违反了规则之一。因此,这种情况下没有有效的解决方案。
数据范围
- 。
- 对于所有 ,。
测试集 1(4 分,可见判定)
- 。
测试集 2(10 分,可见判定)
- 。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号