#P0206. 颜色修改
颜色修改
题目描述
给定一排彩色方块,从左到右编号为 到 。第 个方块初始颜色为 。
如果两个方块 和 满足 ,且对于所有满足 的 均有 (即从第 个到第 个方块颜色相同),则从第 个方块到第 个方块范围内的所有方块属于同一个连通分量。
例如,排列 \[3, 3, 3\] 有 个连通分量,而排列 \[5, 2, 4, 4\] 有 个连通分量。
“泛洪填充”游戏规则如下:
- 游戏开始时,选择任意一个方块作为起始方块(不计入回合数)。
- 然后,在每个游戏回合中,将包含起始方块的连通分量的颜色更改为任何其他颜色。
找到将整个排列变成单一颜色所需的最少回合数。
输入格式
第一行包含一个整数 ()— 方块的数量。
第二行包含整数 ()— 方块的初始颜色。
输出格式
输出一个整数 — 所需的最少回合数。
样例
4
5 2 2 1
2
8
4 5 2 2 1 3 5 5
4
1
4
0
说明/提示
样例解释
在第一个示例中,实现最佳答案的一种可能方式是选择下标为 的方块作为起始方块,然后按以下步骤进行:
- \[5, 2, 2, 1\]
- \[5, 5, 5, 1\]
- \[1, 1, 1, 1\]
在第二个示例中,实现最佳答案的一种可能方式是选择下标为 的方块作为起始方块,然后按照颜色 的顺序进行重新着色。
在第三个示例中,排列已经只包含一种颜色。