반응형
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
static ArrayList<Integer>[] list;
static boolean[] visited;
static int answer;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
list = new ArrayList[N+1];
visited = new boolean[N+1];
for(int i=0; i<=N; i++) {
list[i] = new ArrayList<Integer>();
}
for(int i=0; i<M; i++) {
int A = sc.nextInt();
int B = sc.nextInt();
list[A].add(B);
list[B].add(A);
}
DFS(1);
System.out.println(answer);
}
public static void DFS(int x) {
visited[x] = true;
for(int i=0; i<list[x].size(); i++) {
int next = list[x].get(i);
if(!visited[next]) {
DFS(next);
answer++;
}
}
}
}
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
[2146] 다리 만들기 (0) | 2019.10.13 |
---|---|
[5502] 팰린드롬 (0) | 2019.09.25 |
[11051] 이항 계수 2 (0) | 2019.09.21 |
[1389] 케빈 베이컨의 6단계 법칙 (0) | 2019.09.21 |
[9251] LCS (0) | 2019.09.21 |