728x90
300x250
2606번: 바이러스
첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어
www.acmicpc.net
1. 그래프를 배열화
2. 1부터 연결여부 확인하여 탐색
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static int com, K, ans=0;
public static boolean visit[];
public static int map[][];
public static void main(String[] args) throws FileNotFoundException {
// TODO Auto-generated method stub
//System.setIn(new FileInputStream("sample_input.txt"));
Scanner sc = new Scanner(System.in);
com = sc.nextInt();
K = sc.nextInt();
map = new int[com+1][com+1];
visit = new boolean[com+1];
for (int i = 0; i < K; i++) {
int r = sc.nextInt();
int c = sc.nextInt();
map[r][c]=1;
map[c][r]=1;
}
visit[1]=true;
dfs(1);
System.out.println(ans);
}
public static void dfs(int idx) {
for (int i = 1; i <= com; i++) {
if(i==idx)
continue;
if(visit[i])
continue;
if(map[idx][i]==1) {
visit[i]=true;
ans++;
dfs(i);
}
}
}
}
728x90
'알고리즘 > DFS & BFS' 카테고리의 다른 글
백준 2573번: 빙산 [DFS][BFS][탐색][그래프]-Java (1) | 2024.02.25 |
---|---|
백준 13023번: ABCDE [백트래킹][탐색][DFS] -Java (0) | 2024.02.02 |
백준 1743번: 음식물 피하기[DFS][Java] (0) | 2021.04.14 |
백준 1303번: 전쟁 - 전투 [DFS][BFS][Java] (1) | 2021.04.14 |
백준 17143번: 낚시왕 (0) | 2020.08.10 |