문제
https://www.acmicpc.net/problem/2606
문제 설명
문제 풀이
BFS를 활용한 그래프 탐색으로 해결했다.
코드
import java.util.*;
class Main {
static Queue<Integer> q = new LinkedList<>();
static List<ArrayList<Integer>> gphList = new ArrayList<>();
static boolean[] visit = new boolean[101];
static int count = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int T = sc.nextInt();
while(N-- >= 0) {
gphList.add(new ArrayList<Integer>());
}
//입력
while(T-- > 0) {
int S = sc.nextInt();
int E = sc.nextInt();
gphList.get(S).add(E);
gphList.get(E).add(S);
}
//탐색
q.offer(1);
while(!q.isEmpty()) {
BFS(q.poll());
}
//출력
System.out.println(count);
}
//BFS
static void BFS(int i) {
if(!visit[i]) {
visit[i] = true;
for(int j : gphList.get(i)) {
if(!visit[j]) {
q.offer(j);
count++;
BFS(q.poll());
}
}
}
}
}
'🧑💻코딩 테스트 > 백준 (BOJ)' 카테고리의 다른 글
[코딩테스트/백준 알고리즘] 1012번 - 유기농 배추 (Java, 자바 풀이) (0) | 2022.12.20 |
---|---|
[코딩 테스트/백준 알고리즘] 5430번 - AC (Java, 자바 풀이) (0) | 2022.12.16 |
[코딩테스트/백준 알고리즘] 1927번 - 최소 힙 (Java, 자바 풀이) (2) | 2022.12.14 |
[코딩 테스트/ 백준 알고리즘] 17219번 - 비밀번호 찾기 (Java, 자바 풀이) (0) | 2022.12.13 |
[코딩 테스트/ 백준 알고리즘] 11399번 - ATM (Java, 자바 풀이) (0) | 2022.12.12 |
댓글