洛谷P12948题解
分析
题意
这道题要求我们为一排彩色卡片分配数字,需要满足三个条件:
数字从左到右是非递减的。
相同颜色的卡片必须有相同数字。
不同颜色的卡片必须有不同数字。
最后需要按数字从小到大的顺序输出颜色。如果无法满足条件,则输出 IMPOSSIBLE
。
思路
如果一种颜色出现了多次,那么这些出现的位置必须是连续的。否则,就不可能满足条件。
比如在 $[3,8,2,2,8]$ 中,数字 $8$ 出现了两次但不连续,中间隔着 $2$,这就导致无论如何分配数字都无法满足非递减的要求。
所以,我们解决这道题的步骤是:
检查每种颜色的出现是否都是连续的。
如果有不连续的颜色,输出
IMPOSSIBLE
。如果所有颜色都连续出现,那么按它们第一次出现的顺序输出即可(因为这个顺序自然满足非递减要求)。
代码
1 |
|
洛谷P12948题解
https://lijingshu2014.github.io/2025/08/23/洛谷P12948题解/