#include<stdio.h>
int visited[105]={0};
int arr[105][105]={0,};
int count=0;
int com;
void dfs(int n){
visited[n]=1;
count++;
for(int i=1;i<=com;i++){
if(arr[n][i]==1&&visited[i]==0)
dfs(i);
}
}
int main(void){
int edge,a,b;
scanf("%d",&com);
scanf("%d",&edge);
for(int i=0;i<edge;i++){
scanf("%d %d",&a,&b);
arr[a][b]=1;
arr[b][a]=1;
}
dfs(1);
printf("%d",count-1);
return 0;
}
[C언어/DFS] 4963 : 섬의 개수 (0) | 2022.01.05 |
---|---|
[C언어/DFS] 2667 : 단지번호붙이기 (0) | 2022.01.04 |
1065 : 한수 (0) | 2022.01.03 |
4673 : 셀프 넘버 (0) | 2022.01.03 |
11053 : 가장 긴 증가하는 부분 (0) | 2021.12.31 |