BZPRO
#1214. [Balkan2007]Monsters
内存限制:32 MiB
时间限制:20 Sec
提交
提交记录
讨论
题目描述
人类最终登陆了人马座行星,却惊讶地发现这颗行星是怪物的聚居地。这些怪物的防御系统是一个N行M列的矩阵格。
人类的星际舰队已经击破了一些单元格,但是现在轮到你来决定摧毁哪一个单元格了。
怪物的防御系统的防御力由只包含完整单元格的子矩阵的数量决定。
一个非空子矩阵由原矩阵通过以下方法获得:
一、移除一些以第一行开始的连续的行
二、移除一些以最后一行结束连续的行
三、移除一些以第一列开始的连续的列
四、移除一些以最后一列结束连续的列
选择一个单元格来摧毁,使得最小化防御系统的防御力
任务
计算摧毁一个单元格后,防御系统的防御力的最小值
输入格式
第一行包括两个用空格隔开的两个数字N和M,表示矩阵的行数和列数。
接下来有N行,每行一串长度为M的01串。1表示该单元格是完整的,0表示该单元格已经被摧毁了。
1 <= N , M <= 750
对于所有的数据,矩阵里至少有1个完整的单元格
输出格式
输出一个数字,即摧毁一个单元格以后,防御系统的防御力的最小值。
样例
样例输入
3 3
011
110
100
样例输出
6
样例解释
最初时,防御系统的防御力是9。摧毁第二行第二列的单元格以后,防御力降为6。
此时的矩阵为
011
100
100
数据范围与提示