bzoj#P3041. 水叮当的舞步

水叮当的舞步

题目描述

水叮当得到了一块五颜六色的格子形地毯作为生日礼物,更加特别的是,地毯上格子的颜色还能随着踩踏而改变。

为了讨好她的偶像虹猫,水叮当决定在地毯上跳一支轻盈的舞来卖萌~~~

地毯上的格子有 n n n n 列,每个格子用一个 05 0-5 之间的数字代表它的颜色。

水叮当可以随意选择一个 05 0-5 之间的颜色,然后轻轻地跳动一步,左上角的格子所在的联通块里的所有格子就会变成她选择的那种颜色。这里连通定义为:两个格子有公共边,并且颜色相同。

由于水叮当是施展轻功来跳舞的,为了不消耗过多的真气,她想知道最少要多少步才能把所有格子的颜色变成一样的。

输入格式

每个测试点包含多组数据。

每组数据的第一行是一个整数 n n ,表示地摊上的格子有 n n n n 列。

接下来一个 n×n n \times n 的矩阵,矩阵中的每个数都在 05 0-5 之间,描述了每个格子的颜色。

n=0 n=0 代表输入的结束。

输出格式

对于每组数据,输出一个整数,表示最少步数。

样例输入

2
0 0
0 0
3
0 1 2
1 1 2
2 2 1
0

样例输出

0
3

数据规模与约定

对于 100%100\% 的数据,n8 n \leq 8 ,每个测试点不多于 20 20 组数据。

题目来源

Poetize5