import java.util.*; public class Main { static int N; static int map[][]; static boolean visit[][]; static int[] xArr = {-1,0,1,0}; static int[] yArr = {0,1,0,-1}; static int apartN; static int[] aparts = new int[25*25]; public static void dfs(int x, int y) { visit[x][y] = true; //dfs가 호출이 될 때마다 apart부분이 증가가 됨!-->이부분 답지 봄 aparts[apartN]++; for(int i = 0; i < 4; i++) { int nx = x + xArr[i]; int n..
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int map[][]; static boolean visit[]; static int N, M; private static void init(boolean[] visit) { for(int i = 1; i
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int N, M; static int[][] map; static boolean[] visited; static Queue queue; static int count = 0, answer = 1, total = 0, min = Integer.MAX_VALUE; static int[] check; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); M = sc.nextInt(); map = new in..