728x90
package a0303;
import java.util.*;
import java.io.*;
/*
visit배열 하나 만들고
연결된곳 관리하면서 visit처리된 수
세면 될듯?
*/
public class 백준2606바이러스 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int[] visit = new int[num+1];
int[][] arr = new int[num+1][num+1];
int size = sc.nextInt();
for(int i=0; i<size; i++) {
int from = sc.nextInt();
int to = sc.nextInt();
arr[from][to] = 1;
arr[to][from] = 1;
}
Queue<Integer> q = new LinkedList<>();
q.add(1);
visit[1] = 1;
while(!q.isEmpty()) {
int nownum = q.poll();
for(int j=1; j<=num; j++) {
if(arr[nownum][j]==1 && visit[j]==0) {
visit[j] = 1;
q.add(j);
}
}
}
int cnt = -1;
for(int i=1; i<=num; i++) {
if(visit[i]==1)cnt++;
}
// System.out.println(Arrays.toString(visit));
System.out.println(cnt);
}
}
'알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘] 백준5566 - 주사위게임 java (0) | 2022.03.03 |
---|---|
[알고리즘] 백준1347 - 미로탐색 java (0) | 2022.03.03 |
[알고리즘] 백준1759 - 암호만들기 java (0) | 2022.03.01 |
[알고리즘] 백준14501 - 퇴사 java (0) | 2022.03.01 |
[알고리즘] 백준15686 - 치킨배달 java (0) | 2022.03.01 |