Java教程

【算法题】洛谷 P3367 【模板】并查集

本文主要是介绍【算法题】洛谷 P3367 【模板】并查集,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

【题目来源】

【模板】并查集 - 洛谷

【分析】

#并查集

【代码】

#include<iostream>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
const int N=1e4+5;

int n,m;
int f[N];
int findf(int x){
	return x==f[x]?x:f[x]=findf(f[x]);
}

int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		f[i]=i;
	}
	for(int i=1;i<=m;i++){
		int sgn,x,y;
		scanf("%d%d%d",&sgn,&x,&y);
		if(sgn==1){
			f[findf(x)]=findf(y);			
		}else if(findf(x)==findf(y)){
			puts("Y");
		}else{
			puts("N");
		}
	}
	return 0;
}

这篇关于【算法题】洛谷 P3367 【模板】并查集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!