Lang:Java
Edit12345678910111213141516171819202122232425262728293031import java.util.Scanner;import java.util.ArrayList;import java.util.Arrays;public class Main {public static void main(String[] args) {String island[] = new String[50];boolean visited[][] = new boolean[50][50];Scanner in = new Scanner(System.in);ArrayList<ArrayList<ArrayList<Integer>>> cordinates = new ArrayList();int diffAreaCount = 0, diffShapeCount = 0;if(in.hasNext()) {int n = in.nextInt();int m = in.nextInt();for (int i = 0; i < n; i++) {if (in.hasNext()) {island[i] = in.next();}Arrays.fill(visited[i], false);}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (!visited[i][j] && island[i].charAt(j)=='#') {ArrayList<ArrayList<Integer>> c = new ArrayList();dfs(island, visited, i, j, n, m, c);cordinates.add(c);}}}