import java.util.Scanner;
public class Main{
public static void main(String []args) {
Scanner in=new Scanner(System.in);
while(in.hasNext()) {
int m=in.nextInt();
int n=in.nextInt();
int dp[][]=new int [m+1][n+1];
int max=0;
int arr[][]=new int[m][n];
for(int i=0;i<m;i++) {
for(int j=0;j<n;j++) {
arr[i][j]=in.nextInt();
}
}
for(int i=1;i<m+1;i++) {
for(int j=1;j<n+1;j++) {
if(arr[i-1][j-1]==1) {
dp[i][j]=Math.min(dp[i-1][j-1], Math.min(dp[i][j-1], dp[i-1][j]))+1;
max=dp[i][j]>max?dp[i][j]:max;
}
}
}
System.out.println(max*max);
}
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载