#P12702. [KOI 2022 Round 2] 食事计划
[KOI 2022 Round 2] 食事计划
题目背景
试题来源:https://koi.or.kr/archives/。中文翻译做了少量本土化修改。
按照署名—非商业性使用—相同方式共享 4.0 协议国际版进行授权。
题目描述
在 KOI 国家,铁柱所在的地方有 个餐厅。每个餐厅只售卖一种食物,食物的类型通过整数 来表示,()。
铁柱计划访问所有的餐厅,并为自己制定一个食事计划。铁柱的食事计划可以用从 到 的整数排列 来表示。举例来说,如果 ,这意味着铁柱将依次访问餐厅 2、4、3 和 1。
由于铁柱不希望连续吃相同类型的食物,所以在他的食事计划中,连续的两个餐厅必须提供不同类型的食物。也就是说,对于 , 必须成立,而符合这一条件的食事计划被称为合法食事计划。
例如,假设 ,且提供的食物类型是 ,则如果铁柱的食事计划是 ,那么计划中的每两个相邻餐厅的食物类型都不同,符合条件。
若铁柱的食事计划是 ,这也是一个合法的食事计划,并且是按字典顺序最前的合法计划。
然而,若食物类型是 ,无论怎样安排食事计划,都无法满足“连续两餐不同类型”的要求。
当给定 个餐厅的食物类型时,如果无法制定合法的食事计划,则输出 -1;否则,输出字典序最前的合法食事计划。
输入格式
第一行给出整数 ,表示餐厅的数量。
第二行给出 个整数 ,表示每个餐厅的食物类型。
输出格式
如果无法制定合法的食事计划,输出 -1。如果能够制定合法的食事计划,则输出字典序最前的合法食事计划 ,每个数之间用一个空格分隔。
9
1 1 1 2 2 3 3 4 3
1 4 2 5 6 3 7 8 9
3
1 1 1
-1
提示
约束条件
子任务
- (5 分)
- (12 分)
- (32 分)
- (51 分)无额外约束条件