Untitled
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int matrix[][] = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { matrix[i][j] = scanner.nextInt(); } } int zones = 0, max = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (matrix[i][j] == 1) { int count = dfs(matrix, i, j); max = Math.max(max, count); zones++; } } } System.out.println(zones + " " + max); } private static int dfs(int[][] matrix, int i, int j) { if (i < 0 || i >= matrix.length || j < 0 || j >= matrix[0].length || matrix[i][j] == 0) { return 0; } matrix[i][j] = 0; int count = 1; count += dfs(matrix, i + 1, j); count += dfs(matrix, i - 1, j); count += dfs(matrix, i, j + 1); count += dfs(matrix, i, j - 1); return count; } }
Leave a Comment