입력 코드
#include <stdio.h>
int b[1001];
int a(int c){
if(b[c]==c){
return c;
}
b[c]=a(b[c]);
return a(b[c]);
}
int d(int c,int e){
int f;
f=a(c);
if(f==a(e)){
return 0;
}
b[a(e)]=f;
return -1;
}
int main(){
int c,e,f,g,z;
scanf("%d %d",&c,&e);
for(z=1;z<=c;z=z+1){
b[z]=z;
}
for(z=0;z<e;z=z+1){
scanf("%d %d",&f,&g);
c=c+d(f,g);
}
printf("%d",c);
}
출처 www.acmicpc.net/source/19950296
코드 설명
#그래프이론 #그래프탐색 #너비우선탐색 #깊이우선탐색
문제 출처
'C' 카테고리의 다른 글
#86. [백준_C언어] 1991 : 트리 순회 \ 트리 (0) | 2021.02.18 |
---|---|
#85. [백준_C언어] 1068 : 트리 \ 트리 (0) | 2021.02.18 |
#83. [백준_C언어] 1707 : 이분 그래프 \ 그래프 탐색 (0) | 2021.02.17 |
#82. [백준_C언어] 2178 : 미로 탐색 \ 그래프 탐색 (0) | 2021.02.17 |
#81. [백준_C언어] 1697 : 숨바꼭질 \ 그래프 이론 (0) | 2021.02.16 |