풀이
입력받은 컴퓨터 쌍을 서로 접근할 수 있도록 반대 쌍 또한 값을 설정해주었다.
그리고, 이전에 접속한 컴퓨터에서의 탐색(중복)을 막기 위해 컴퓨터 번호에 해당하는 num배열의 값을 증가시켰다.
소스코드
#include <stdio.h>
int arr[100][100], num[100], N, cnt;
void dfs(int worm){
cnt++, num[worm] = 1;
for (int i = 0; i < N; i++)
if (arr[worm][i] && !num[i])
dfs(i);
return;
}
int main(){
int line, x, y;
scanf("%d %d", &N, &line);
for (int i = 0; i < line; i++){
scanf("%d %d", &x, &y);
arr[x-1][y-1] = arr[y-1][x-1] = 1;
}
dfs(0);
printf("%d", cnt - 1);
}
출처
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 1550] 16진수 [C] (0) | 2021.08.04 |
---|---|
[백준 15649] N과 M (1) [C] (0) | 2021.08.04 |
[백준 2003] 수들의 합 2 [C] (0) | 2021.08.04 |
[백준 11441] 합 구하기 [C] (0) | 2021.08.03 |
[백준 11660] 구간 합 구하기 5 [C] (0) | 2021.08.03 |