#CF4055. 镜像网格

镜像网格

题目描述

给你一个有 nnnn 列的正方形网格。每个单元格包含 01

每次操作,您可以改变一个网格的单元值(从 0110)。为获得旋转 0901800^\circ、90^\circ、180^\circ270270^\circ 时保持不变的正方形,最小操作数是多少?

下图显示了网格所有旋转的示例。

image

输入格式

第一行包含单个整数 t(1t100)t(1≤t≤100) 代表测试用例数。

每个测试用例的第一行包含一个整数 n(1n100)n(1≤n≤100) 代表网格的大小。

随后是 nn 行,每行有 nn 个字符 ai,j(0ai,j1)a_{i,j}(0≤a_{i,j}≤1) 代表每个单元格中的数字。

输出格式

对于每个测试用例,输出一个整数,使正方形在旋转 0901800^\circ、90^\circ、180^\circ270270^\circ 度时看起来相同所需的最小操作数。

测试样例

6
3
010
110
010
1
0
5
11100
11011
01011
10011
11000
5
01000
10101
01010
00010
01001
5
11001
00000
11111
10110
01111
4
0110
0001
0110
0100
1
0
9
7
6
6

样例说明

在第一个测试用例中,我们可以执行一次操作来生成网格

010111010010\\111\\010

现在,正方形的所有旋转都是相同的。

在第二个测试用例中,正方形的所有旋转都已经相同,因此我们不需要任何翻转。