tle三个点,c++并查集,qwq
查看原帖
tle三个点,c++并查集,qwq
356055
The_NewBoy楼主2021/5/12 18:50

这题是要写快读吗? 我也不知道咋搞

#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#define zyq 500500
#define xzy 500500
using namespace std;
int find(int);
void join(int,int);
int n,m;
int fa[zyq];
int z,x,y;
int px,py;

int main(){
	std::ios::sync_with_stdio(false);
	cin>>n>>m;
	for(int i=1;i<=n+1;i++) fa[i]=i;
	for(int i=1;i<=m;i++){
		cin>>z>>x>>y;
		if(z==1){
			join(x,y);
		}
		if(z==2){
			if(find(x)==find(y)){
				cout<<"Y\n";
		
			}
			else cout<<"N\n";
		}
	} 
	return 0;
}
int find(int x){
	if(fa[x]==x)
		return x;
	return find(fa[x]);
}
void join(int x,int y){
	if(find(x)!=find(y))
		fa[find(y)]=find(x);
}
2021/5/12 18:50
加载中...