import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int grid[][]; public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String input; StringBuilder sb=new StringBuilder(1000); int testcases=Integer.parseInt(br.readLine()); for (int t = 0; t < testcases; t++) { if(t>0) sb.append("\n"); br.readLine(); input=br.readLine(); int dimension=input.length(); grid=new int[dimension][dimension]; for (int j = 0; j < dimension; j++) { grid[0][j]=input.charAt(j)-48; } for (int i = 1; i < dimension; i++) { input=br.readLine(); for (int j = 0; j < dimension; j++) { grid[i][j]=input.charAt(j)-48; } } int largest=0; for (int i = 0; i < dimension; i++) { for (int j = 0; jlargest) largest=count; } } } sb.append(largest+"\n"); } System.out.print(sb); } public static int floodfill(int row,int column,int rowlimit,int columnlimit) { if(grid[row][column]!=1) return 0; int count=1; grid[row][column]=0; if(row-1>=0) { count+=floodfill(row-1, column, rowlimit, columnlimit); if(column-1>=0) count+=floodfill(row-1, column-1, rowlimit, columnlimit); if(column+1<=columnlimit) count+=floodfill(row-1, column+1, rowlimit, columnlimit); } if(row+1<=rowlimit) { count+=floodfill(row+1, column, rowlimit, columnlimit); if(column-1>=0) count+=floodfill(row+1, column-1, rowlimit, columnlimit); if(column+1<=columnlimit) count+=floodfill(row+1, column+1, rowlimit, columnlimit); } if(column-1>=0) count+=floodfill(row, column-1, rowlimit, columnlimit); if(column+1<=columnlimit) count+=floodfill(row, column+1, rowlimit, columnlimit); return count; } }
0 comments: