AcWing 3719. 畅通工程(并查集)(天津大学考研上机)

AcWing 3719. 畅通工程(并查集)(天津大学考研上机)_第1张图片

输入样例:

4 2
1 3
4 3

输出样例:

1
#include
using namespace std;
const int N=1010;
int n,m,x,y,s[N],cnt;
int find(int x){
	if(x!=s[x]) s[x]=find(s[x]);
	return s[x];
}
void merge(int x,int y){
	x=find(x),y=find(y);
	if(x!=y) s[x]=y;
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++) s[i]=i;
	for(int i=1;i<=m;i++){
		scanf("%d%d",&x,&y);
		merge(x,y);
	}	
	for(int i=1;i<=n;i++){
		if(s[i]==i) cnt++;
	}
	cout<

你可能感兴趣的:(AcWing,考研,算法,c++,数据结构,并查集)