• P1551 亲戚


    P1551 亲戚

    简介

    一道很水的并查集,就是模板

    题目

    规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。

    思路

    用并查集,不断输入的同时不断unite(联系)

    代码

    #include <bits/stdc++.h>
    #define N 5050
    using namespace std;
    typedef long long ll;
    ll n,m,p,id[N],x,y;
    ll find(ll x){
    	return id[x]==x?x:id[x]=find(id[x]);
    }
    void unite(ll x,ll y){
    	ll xi=find(x),yi=find(y);
    	id[xi]=yi;
    }	
    int main(){
    	cin>>n>>m>>p;
    	for(ll i=0;i<n;i++)id[i]=i;
    	for(int i=1;i<=m;i++){
    		cin>>x>>y;
    		unite(x,y);
    	}
    	for(int i=1;i<=p;i++){
    		cin>>x>>y;
    		if(find(x)==find(y)) cout<<"Yes"<<endl;
    		else cout<<"No"<<endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    touchMove VS touchCancel
    svg viewbox 作用
    reactjs reactLink
    放开linux下的端口
    运算符重载函数作为类成员函数和友元函数 (转)
    MBean和MXBean 区别
    transfer-encoding
    CSRF
    vue知识拓展
    居中
  • 原文地址:https://www.cnblogs.com/tushukai/p/14045048.html
Copyright © 2020-2023  润新知