๋ฐ์ํ
๋ฌธ์ Silver3
ํ์ด
๊ทธ๋ํ ํ์(DFS)๋ฅผ ํตํด ์ธ์ ์ ์ ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ .
์ธ์ ํ๋ ฌ์ booleanํ์ผ๋ก ์ ์ธํด
ํ์ํ๋ ์ธ๋ฑ์ค์ ๊ฐ์ด true์ด๊ณ visited๋ฐฐ์ด์ด false๋ผ๋ฉด ํ์ํ๋ฉฐ, ๊ฒฐ๊ณผ๊ฐ cnt ์ฆ๊ฐ.
์ฝ๋
๋๋ณด๊ธฐ
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main{
static boolean[][] arr;
static boolean[] visited;
static int N, cnt;
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
arr = new boolean[N+1][N+1];
visited = new boolean[N+1];
cnt = 0;
int M = Integer.parseInt(br.readLine());
for(int i =0 ; i < M ; i++) {
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int from = Integer.parseInt(st.nextToken());
int to = Integer.parseInt(st.nextToken());
arr[from][to] = true;
arr[to][from] = true;
}
dfs(1);
System.out.println(cnt);
}
public static void dfs(int start) {
visited[start] = true;
for(int i = 1 ; i <= N ; i++) {
if(arr[start][i] && !visited[i]) {
dfs(i);
cnt++;
}
}
}
}
๋ฐ์ํ
'๐ ์๊ณ ๋ฆฌ์ฆ > GraphTraversal' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 3184๋ฒ ์ (Java) (0) | 2022.02.16 |
---|---|
[๋ฐฑ์ค] 5427๋ฒ ๋ถ (Java) (0) | 2022.02.08 |
[๋ฐฑ์ค] 2667๋ฒ ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (Java) (0) | 2021.08.24 |
[๋ฐฑ์ค] 10026๋ฒ ์ ๋ก์์ฝ(Java) (0) | 2021.08.20 |
[๋ฐฑ์ค]3109๋ฒ ๋นต์ง(Java) (0) | 2021.08.19 |