CS/Algorithm

[백준:2606] 바이러스 - JAVA

yujindonut 2021. 5. 2. 21:33
728x90

import java.util.*;
public class Main {

	static int map[][];
	static boolean visit[];
	static int N, M;
	static int virus;
	public static void dfs(int v) {
		
		visit[v] = true;
		for(int i = 1; i <= N; i++) {
			if(map[v][i] == 1 && !visit[i]) {				
				dfs(i);
				virus++; //1번 컴퓨터는 세면 안됨 - 1번을 통해 감염된 것만
			}
		}
	}
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		N = scan.nextInt();
		M = scan.nextInt();
		
		map = new int[N+1][N+1];
		visit = new boolean[N+1];
		
		for(int i = 0; i < M; i++) {
			int x = scan.nextInt();
			int y = scan.nextInt();
			map[x][y] = map[y][x] = 1;	
		}
		
		dfs(1);
		System.out.println(virus);
		scan.close();
	}
}

 

728x90