2548. 【NOIP2011模拟9.4】最大正方形 (Standard IO)
2016-08-13 19:23
471 查看
Description
给一个N*N的01矩阵, 求一个面积最大的全为1的正方形子矩阵. 输出它的面积.Input
输入文件square.in的第一行包含一个正整数N.接下来N行, 每行N个数, 保证不是0就是1. 每行相邻两个数之间没有空格.
Output
输出文件为square.out,仅包含一个整数表示最大的全1子正方形矩阵的面积。Sample Input
211
11
Sample Output
4【数据规模和约定】
80%的数据中 N<=250;
100%的数据中 N <= 1000。
题解
每一个为1的点与左上的点构成的最长正方形的边长等于左点,上点和左上点的最小值加上 1(自己的长度)。 f[i,j]:=min(f[i-1,j],f[i,j-1],f[i-1,j-1])+1
代码
var a:array[0..1000,0..1000] of 0..1; f:array[0..1000,0..1000] of longint; i,j,n,max,s:longint; k:ansistring; function min(x,y:longint):longint; begin if x>y then exit(y) else exit(x); end; begin readln(n); for i:=1 to n do begin readln(k); for j:=1 to n do val(k[j],a[i,j]); end; for i:=1 to n do for j:=1 to n do if a[i,j]=1 then begin f[i,j]:=min(f[i-1,j],f[i,j-1]); f[i,j]:=min(f[i,j],f[i-1,j-1]); inc(f[i,j]); if max<f[i,j] then max:=f[i,j]; end; writeln(max*max); end.
相关文章推荐
- jzoj 2548. 【NOIP2011模拟9.4】最大正方形
- 2548. 【NOIP2011模拟9.4】最大正方形 (StandardIO)
- 2549. 【NOIP2011模拟9.4】家庭作业 (Standard IO)
- 2555. 【NOIP2011模拟9.7】雾雨魔理沙 (Standard IO)
- 2568. 【NOIP2011模拟9.17】地铁建设 (Standard IO)
- 2556. 【NOIP2011模拟9.7】伊吹萃香 (Standard IO)
- 【NOIP2011模拟9.1】方格取数 (Standard IO)
- 【NOIP2011模拟9.1】统计 (Standard IO)
- 2569. 【NOIP2011模拟9.17】旅行 (Standard IO)
- 【NOIP2011模拟9.1】直角三角形 (Standard IO)
- JZOJ8.11(C组)【NOIP2011模拟9.1】方格取数 (Standard IO)
- 2570. 【NOIP2011模拟9.17】数字生成游戏 (Standard IO)
- 2557. 【NOIP2011模拟9.9】单词分类 (Standard IO)
- 【NOIP2011模拟9.3】旅行 (Standard IO)
- 2558. 【NOIP2011模拟9.9】过河问题 (Standard IO)
- 2559. 【NOIP2011模拟9.9】最短路 (Standard IO)
- 【NOIP2011模拟9.3】作弊的发牌者 (Standard IO)
- 2553. 【NOIP2011模拟9.7】射命丸文 (Standard IO)
- 【NOIP2011模拟9.3】跳舞 (Standard IO)
- 2567. 【NOIP2011模拟9.17】电话时间 (Standard IO)