#cf2015relayh. [cf_2015_relay_h]塗りつぶし
[cf_2015_relay_h]塗りつぶし
问题文
縦 行、横 列的方格网格,左上角的格子表示为 ,右下角的格子表示为 。每个格子都被涂上了 到 中的某种颜色。
对于这个方格网格,你可以进行若干次“填充”操作。填充操作是指将从 开始连通的相同颜色的格子全部改成选定的颜色。两个格子相连是指它们通过共享边缘上的相同颜色的格子互相到达。以下是填充操作的示例(图像对应输入示例1)。
给定 的方格网格的初始状态,请计算使 和 连通所需的最小填充操作次数。
输入
输入通过标准输入给出,具体格式如下:
:
其中, 和 () 分别表示方格网格的高度和宽度。 () 表示格子 在初始状态下的颜色。
输出
输出使 和 连通所需的最小填充操作次数,末尾换行。
示例1
3 3
122
131
322
输出示例1
2
将颜色 改为颜色 ,则 和 连通。
示例2
3 3
111
231
321
输出示例2
0
和 最初就是连通的。
示例3
4 5
12334
41123
43214
21344
输出示例3
5