旋转棋盘
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
旋转棋盘
题目描述
给定一个大小为 的棋盘,每个格子填写数字 或 。你可以对任意一个格子进行操作,将数字 翻转成 ,或者将数字 翻转成 。请计算最小的操作次数,使得棋盘无论是顺时针旋转 , , 或 后,棋盘的样子都相同(旋转过后,看起来和没旋转一样)。
下图为旋转的例子(但是旋转后的棋子并不一样)。
输入格式
第一行输入一个整数 () 表示有多少个测试用例。每个测试用例的第一行包含一个整数 () 表示棋盘的大小。
接下来的 行,每行有 个字符,每个字符为 或 ,表示棋盘上的数字。
输出格式
对于每个测试案例,输出一个整数,表示使棋盘能够在所有旋转后看起来相同所需要的最小操作次数。
样例数据
5
3
010
110
010
1
0
5
11100
11011
01011
10011
11000
5
01000
10101
01010
00010
01001
5
11001
00000
11111
10110
01111
1
0
9
7
6
样例解释
在第一个测试案例中,我们可以进行一次操作使得第二行第三列的格子从 变为 ,这样在任何角度的旋转下,棋盘看起来都是一样的。
在第二个测试案例中,棋盘在所有旋转下本来就是相同的,所以不需要任何操作。