
๐ปQ
1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ
์ฐจ์ธ๋ ์๋์ธ ํ๋๋ ๊ฐ์๋ ๊ณ ๋ญ์ง์์ ์ ๊ธฐ๋ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๊ธฐ๋ก ํ์๋ค. ๋์ฝ์ ์ฐ์ง ์๊ณ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๋ ค๋ฉด ๋ฐฐ์ถ๋ฅผ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์, ํ๋๋ ํด์ถฉ ๋ฐฉ์ง์
www.acmicpc.net
๐กA
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class B1012 { static int M, N, K; static int[][] cabbage; static boolean[][] visit; static int count; static int[] dx = { 0, -1, 0, 1 }; static int[] dy = { 1, 0, -1, 0 }; static void dfs(int x, int y) { visit[x][y] = true; for (int i = 0; i < 4; i++) { int cx = x + dx[i]; int cy = y + dy[i]; if (cx >= 0 && cy >= 0 && cx < M && cy < N) { if (!visit[cx][cy] && cabbage[cx][cy] == 1) { dfs(cx, cy); } } } } static void bfs(int x, int y) { Queue<int[]> q = new LinkedList<int[]>(); q.add(new int[] { x, y }); while (!q.isEmpty()) { x = q.peek()[0]; y = q.peek()[1]; visit[x][y] = true; q.poll(); for (int i = 0; i < 4; i++) { int cx = x + dx[i]; int cy = y + dy[i]; if (cx >= 0 && cy >= 0 && cx < M && cy < N) { if (!visit[cx][cy] && cabbage[cx][cy] == 1) { q.add(new int[] { cx, cy }); visit[cx][cy] = true; } } } } } public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int tc = Integer.parseInt(br.readLine()); for (int i = 0; i < tc; i++) { count = 0; StringTokenizer st = new StringTokenizer(br.readLine(), " "); M = Integer.parseInt(st.nextToken()); N = Integer.parseInt(st.nextToken()); cabbage = new int[M][N]; visit = new boolean[M][N]; K = Integer.parseInt(st.nextToken()); for (int j = 0; j < K; j++) { st = new StringTokenizer(br.readLine(), " "); int p1 = Integer.parseInt(st.nextToken()); int p2 = Integer.parseInt(st.nextToken()); cabbage[p1][p2] = 1; } for (int x = 0; x < M; x++) { for (int y = 0; y < N; y++) { if (cabbage[x][y] == 1 && !visit[x][y]) { dfs(x, y); // bfs(x, y); count++; } } } System.out.println(count); } } }โ
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ๋ฐฑ์ค 1654 ๋์ ์๋ฅด๊ธฐ (0) | 2021.11.15 |
|---|---|
| ๋ฐฑ์ค 11399 ATM (0) | 2021.11.15 |
| ๋ฐฑ์ค 13305 ์ฃผ์ ์ (0) | 2021.11.04 |
| ๋ฐฑ์ค 1541 ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2021.11.02 |
| ๋ฐฑ์ค 15649 N๊ณผ M(1) (0) | 2021.10.30 |