描述

永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的。

但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵)。这些瑕疵十分恶心,以至于根本不能在上面盖一砖一瓦。

他希望找到一块最大的正方形无瑕疵土地来盖房子。

不过,这并不是什么难题,永恒の灵魂在10分钟内就轻松解决了这个问题。

现在,您也来试试吧。

格式

输入格式

输入文件第一行为两个整数n,m(1<=n,m<=1000),接下来n行,每行m个数字,用空格隔开。0表示该块土地有瑕疵,1表示该块土地完好。

输出格式

一个整数,最大正方形的边长。

样例1

样例输入1[复制]

4 4
0 1 1 1
1 1 1 0
0 1 1 0
1 1 0 1

样例输出1[复制]

2

限制

各点时限均为1s。

题意:找一个最大的正方形。

思路:很简单的一个思路,从左,上,左上方向转移即可,状态设计为地图为i X j时的最大正方形边长。

/** @Date    : 2016-12-13-19.39
* @Author : Lweleth (SoungEarlf@gmail.com)
* @Link : https://github.com/
* @Version :
*/
#include<bits/stdc++.h>
#define LL long long
#define PII pair
#define MP(x, y) make_pair((x),(y))
#define fi first
#define se second
#define PB(x) push_back((x))
#define MMG(x) memset((x), -1,sizeof(x))
#define MMF(x) memset((x),0,sizeof(x))
#define MMI(x) memset((x), INF, sizeof(x))
using namespace std; const int INF = 0x3f3f3f3f;
const int N = 1e5+20;
const double eps = 1e-8; int dp[1010][1010];
int main()
{
int n, m;
cin >> n >> m;
MMF(dp);
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= m; j++)
{
scanf("%d", &dp[i][j]);
}
}
int ma = 0;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= m; j++)
{
if(dp[i][j] != 0)
{
dp[i][j] = min(min(dp[i-1][j], dp[i][j-1]), dp[i-1][j-1]) + 1;
}
ma = max(dp[i][j], ma);
}
}
printf("%d\n", ma);
return 0;
}

最新文章

  1. Mysql 中 show full processlist
  2. ActiveMQ笔记(2):基于ZooKeeper的HA方案
  3. CSS侧边栏,ng-click定义选中事件
  4. C#数组的声明方式
  5. 如何获取EntityManager
  6. c#中结构体(struct)和类(class)的区别
  7. 【UESTC 482】Charitable Exchange(优先队列+bfs)
  8. hihoCoder #1127:二分图最小点覆盖和最大独立集
  9. ecshop 优化_将商品详情页goods.php重命名为shangpin.php
  10. Jquery实现文本框获取焦点清空内容,失去焦点重新获得内容的公共函数
  11. windows命令行编码与nodejs编码格式冲突的解决方式
  12. c#中从string数组转换到int数组
  13. JAVA类的方法调用和变量(全套)
  14. P1177 【模板】快速排序 题解
  15. python基础自学 第三天
  16. 054 kafka内部机制
  17. Spring-Mybatis依赖
  18. 转 Visual C++6.0 与matlab联合编程(2)----Visual C++6.0 环境下编译和调试MEX文件
  19. [Element-UI] 使用Element-UI的DateTimePicker组件报错:Cannot read property &#39;getHours&#39; of undefined
  20. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(二)

热门文章

  1. HADOOP docker(八):hadoop本地库
  2. php中array_map和array_walk的使用对比
  3. 菜鸟的飞翔日记-os篇
  4. React &amp; event-pooling &amp; bug
  5. libsvm 用在 婚介数据集中 预测 用户配对
  6. [LOJ2983] [WC2019] 数树
  7. hihoCoder#1698 : 假期计划 组合数
  8. Java异常捕捉
  9. BZOJ2555:SubString——题解
  10. HDU4757:Tree——题解