https://www.acmicpc.net/problem/2606
2606번: 바이러스
첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어
www.acmicpc.net
dfs 활용
import java.util.Scanner;
class Main {
	static int n, v, count;
	static int[][] arr, map;
	static boolean[] visited;
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		v = sc.nextInt();
		count = 0;
		arr = new int[v][2];
		map = new int[n + 1][n + 1];
		visited = new boolean[n+1];
		
		for (int i = 0; i < v; i++) {
			arr[i][0] = sc.nextInt();
			arr[i][1] = sc.nextInt();
		}
		for (int i = 0; i < v; i++) {
			int x = arr[i][0];
			int y = arr[i][1];
			map[x][y] = 1;
			map[y][x] = 1;
		}
		dfs(1);
	
		System.out.println(count);
	}
	public static void dfs(int i) {
		visited[i] = true;//1
	
		for (int j = 1; j < n+1; j++) {
			if(!visited[j] && map[i][j]==1) {
				count++;
				dfs(j);
			}
		}
		
		
	}
}'ALGORITHM > 프로그래머스 | 백준 | 삼성 | 카카오' 카테고리의 다른 글
| [백준] 감시피하기 java 18428번 (0) | 2023.02.08 | 
|---|---|
| [백준] 13904 과제 java (0) | 2022.10.05 | 
| [백준] 마법사 상어와 비바라기 java 21610번 (0) | 2022.04.05 | 
| [백준] 2003 수들의 합2 java (0) | 2021.06.28 | 
| [백준] 구간 합 구하기 4 java (0) | 2021.06.28 |