AcWing 1612. 最大正方形
原题链接
中等
作者:
iwong
,
2021-02-15 04:22:26
,
所有人可见
,
阅读 302
算法2
dp方法解决 就是一个格子四个数的大小问题
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
int n=in.nextInt();
int m=in.nextInt();
int[][] input= new int[n][m];
int[][] dp=new int[n][m];
int maxB=0,s=0;
for (int i = 0; i <n ; i++) {
for (int j = 0; j <m ; j++) {
input[i][j]=in.nextInt();
if (input[i][j]==1){
if (i==0||j==0){
dp[i][j]=1;
}else{
dp[i][j]=Math.min(Math.min(dp[i-1][j],dp[i][j-1]),dp[i-1][j-1])+1;
}
maxB=Math.max(maxB,dp[i][j]);
}
}
}
s=maxB*maxB;
System.out.println(s);
}
}
}