U275119 SNTT战队的像素画图章(normal version2)
题目描述
#### *Tips :这是本题的求最少所需操作次数的版本。
------------
Sanitater战队最近想要给自己的队伍画一个像素画图章。他们希望拥有一个由n * n大小的像素画点阵图作为他们战队的灵魂象征。
他们的队员商讨了许久,最终选择了队内的CangShuV去作画。画作的内容可以被描述为一个n * n大小的矩阵。这幅画将只由两种颜色构成。每种颜色可能出现多次。其中,第一种颜色将用0表示,第二种颜色将用1表示。
然而,由于EA的土豆服务器承载不起无限的图章图层,这幅画将只能被k个图层描绘。换而言之,你只能使用k个可随意伸缩旋转的实心矩形去绘制这幅像素画。每个矩形只能被染成一种颜色。矩形之间可以以任何方式互相覆盖遮挡。你可以假设图章绘制最初时的每个像素点都是透明像素(颜色值为-1)。
因此,他们想知道最少需要多少个图层才能绘制出这幅像素画。即求矩形的最少数量。
鉴于他们队伍里的每个人都忙着捞薯条,于是他们找到了你去解决这个问题。
你能帮助他们找到这个问题的解决方案吗?
输入格式
数据的第一行会给出一个整数t代表数据组数,
而后每一组数据的第一行将会给出n的数值。
接下来,每一组数据的第二行开始,将以上述规则逐行描述像素画的内容。
输入保证不会出现没有颜色的像素。
输出格式
每行输出一个整数,代表每组数据所用矩形的最少数量。
说明/提示
在第一组数据中,可以先画一个3 * 3大小的颜色为1的矩形,而后用两个1 * 2大小的颜色为0的矩形覆盖部分原来的矩形。可以证明,最少也需要3个图层才能画出这幅画。
```c
Step1.
1 1 1
1 1 1
1 1 1
Step2.
0 0 1
1 1 1
1 1 1
Step3.
0 0 1
0 1 1
1 1 1
```
在第二组数据中,只需要一步即可画出这幅画。
#### 数据范围
(1