ac了,但还是有疑问
  • 板块学术版
  • 楼主lsuntouched
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/15 19:44
  • 上次更新2024/7/15 20:29:18
查看原帖
ac了,但还是有疑问
1367273
lsuntouched楼主2024/7/15 19:44
#include<bits/stdc++.h>
using namespace std;
int num[10010];
int n,m,a;
int tx,ty;
int find(int k){
	if(num[k]==k) return num[k];
	return num[k]=find(num[k]);/*即num[x]=find(num[x]) ;
								        	 return num[x];*/
	}
void c1(int x,int y){
	num[find(x)]=find(y);
	//写成num[x]=num[find(y)]
	//或者 num[x]=find(y)都不行啊 为什么捏
}
void c2(int x,int y){
	if(find(x)==find(y)){cout<<"Y"<<endl;return;}
	else{cout<<"N"<<endl;return;}
}
int main()
{	
	cin>>n>>m;
	for(int i=1;i<=n;i++) num[i]=i;
	for(int i=1;i<=m;i++){
		cin>>a>>tx>>ty;
		if(a==1) c1(tx,ty);
		if(a==2) c2(tx,ty);
	}
	return 0;
}
2024/7/15 19:44
加载中...