티스토리 뷰

[BJ] 2606. 바이러스

www.acmicpc.net/problem/2606

 

2606번: 바이러스

첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어

www.acmicpc.net

import java.io.*;
import java.util.*;
// 210212

public class Main_BJ_2606_바이러스 {
	static int N, M;
	static int[][] map;
	static boolean[] visit;
	static int cnt = 0;
	
	static void DFS(int v) {
		visit[v] = true;
		
		for(int i=1; i<=N; i++) {
			if (map[v][i]==1 && !visit[i]) {
				visit[i] = true;
				cnt++;
				DFS(i);
			}
		}
	}
	
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		N = Integer.parseInt(br.readLine()); // 컴퓨터 수 - 노드 수
		M = Integer.parseInt(br.readLine()); // 네트워크 쌍의 수 - 정점 수
		map = new int[N+1][N+1]; // 컴퓨터는 1번부터
		visit = new boolean[N+1];

		StringTokenizer st;
		
		for(int i=0; i<M; i++) {
			st = new StringTokenizer(br.readLine(), " ");
			int v1 = Integer.parseInt(st.nextToken());
			int v2 = Integer.parseInt(st.nextToken());

			map[v1][v2] = 1;
			map[v2][v1] = 1;
		}
		
		DFS(1);
		System.out.println(cnt);
		
		br.close();
	} // 

}

'코딩테스트 > 백준' 카테고리의 다른 글

[BJ] 2667. 단지번호붙이기  (0) 2021.02.15
[BJ] 7569. 토마토  (0) 2021.02.14
[BJ] 1260. DFS와 BFS  (0) 2021.02.14
[BJ] 11650. 좌표 정렬하기  (0) 2021.02.14
[BJ] 1436. 영화감독 숌  (0) 2021.02.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함