骚算法---并查集代码

骚算法---并查集代码_第1张图片

骚算法---并查集代码_第2张图片

#include
using namespace std;
const int N =10010;
int p[N];           //全局初始化--树结构(找你太奶法,没找到,就一直递归)
                    //初始第一行,枚举 读入值
					// 初始化字符串,while递减 --合并,抄题 

int find(int x){
	if(p[x]!=x){
		p[x]=find(p[x]);
	}
	return p[x];
} 
int main(){
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		p[i]=i;
	}
	while(m--){
		char op[2];
		int a,b;
		scanf("%s%d%d",op,&a,&b);
		if(*op=='M'){
			p[find(a)]=find(b);
		}
		else{
			if(find(a)==find(b)){
				puts("Yes");
			}
			else{
				puts("No");
			}
		}
	}
	return 0;
}

你可能感兴趣的:(算法,c++,数据结构)