package com.crack;
public class Square {
boolean isSquare(int[][] matrix,int row,int col,int size)
{
for(int j=0;j<size;j++)
{
if(matrix[row][col+j]==1)
return false;
if(matrix[row+size-1][col+j]==1)
return false;
}
for(int i=1;i<size-1;i++)
{
if(matrix[row+i][col]==1)
return false;
if(matrix[row+i][col+size-1]==1)
return false;
}
return true;
}
SubSquare findSquare(int[][] matrix,int squaresize)
{
int count=matrix.length-squaresize+1;
for(int row=0;row<count;row++)
{
for(int col=0;col<count;col++)
{
if(isSquare(matrix,row,col,count))
{
return new SubSquare(row,col,squaresize);
}
}
}
return null;
}
SubSquare findSquare(int[][] matrix)
{
for(int i=matrix.length;i>=1;i--)
{
SubSquare square=findSquare(matrix,i);
if(square!=null)
return square;
}
return null;
}
}
public class Square {
boolean isSquare(int[][] matrix,int row,int col,int size)
{
for(int j=0;j<size;j++)
{
if(matrix[row][col+j]==1)
return false;
if(matrix[row+size-1][col+j]==1)
return false;
}
for(int i=1;i<size-1;i++)
{
if(matrix[row+i][col]==1)
return false;
if(matrix[row+i][col+size-1]==1)
return false;
}
return true;
}
SubSquare findSquare(int[][] matrix,int squaresize)
{
int count=matrix.length-squaresize+1;
for(int row=0;row<count;row++)
{
for(int col=0;col<count;col++)
{
if(isSquare(matrix,row,col,count))
{
return new SubSquare(row,col,squaresize);
}
}
}
return null;
}
SubSquare findSquare(int[][] matrix)
{
for(int i=matrix.length;i>=1;i--)
{
SubSquare square=findSquare(matrix,i);
if(square!=null)
return square;
}
return null;
}
}