#P1191. 基站(net)
基站(net)
题目描述
一个 的矩形,单元格 表示其位于第 行第 列。科学家发明了一种新型网络系统,这种新型网络系统中可以建立多个子网,每个子网需要建立一个 号基站 和 号基站 ,该子网可以覆盖以 和 为顶点的矩形区域(矩形区域的四条边必须平行于行和列)。
号基站只能在标记为 的单元格中建立, 号基站只能在矩形的四个顶点单元格(标记为 )中建立。
不同的子网覆盖区域之间可以相互重叠。
同一个单元格可以建立多个基站。
问最少需要建立多少个子网能将矩形中所有的单元格覆盖。
输入格式
第 行 个整数 ,表示有 组测试数据,每一组数据输入如下:
第 行 个整数 ,表示矩形的行数和列数。
接下来 行描述了矩形中单元格的属性。
第 行包含 个整数 ,用空格分隔。如果 为 ,表示单元格 不能 建立任何基站。如果 为 ,表示单元格 可以建立 号基站。如果 为 ,表示单 元格 可以建立 号基站。
输出格式
输出 行,每行 个整数,表示如果能将所有单元格覆盖,需要建立的最少子网数量。
样例输入输出
1
4 4
2 0 0 2
0 1 0 0
0 0 1 0
2 0 0 2
4
1
4 3
2 0 2
1 0 0
1 0 0
2 0 2
2
说明/提示
【样例 #1 解释】
样例 中,最少需要建立 个子网,其中一种情况如下:
- 建立子网 ,选择 号方格 和 号方格 ;
- 建立子网 ,选择 号方格 和 号方格 ;
- 建立子网 ,选择 号方格 和 号方格 ;
- 建立子网 ,选择 号方格 和 号方格 。
【样例 #2 解释】
样例 中,最少需要建立 个子网,其中一种情况如下:
- 建立子网 ,选择 号方格 和 号方格 ;
- 建立子网 ,选择 号方格 和 号方格 。
数据范围
- 对于 的数据,;
- 对于 的数据,,。
相关
在下列比赛中: