zoukankan      html  css  js  c++  java
  • 亲戚

    亲戚

    Time Limit:   1000MS       Memory Limit:   65535KB
    Submissions:   214       Accepted:   82
    Description若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。
    Input第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,询问p对亲戚关系。 以下m行:每行两个数Mi,Mj,1<=Mi,Mj<=N,表示Ai和Bi具有亲戚关系。 接下来p行:每行两个数Pi,Pj,询问Pi和Pj是否具有亲戚关系。
    OutputP行,每行一个’Yes’或’No’。表示第i个询问的答案为“具有”或“不具有”亲戚关系。

    Sample Input

    6 5 3
    1 2
    1 5
    3 4
    5 2
    1 3
    1 4
    2 3
    5 6
    

    Sample Output

    Yes
    Yes
    No
    #include <iostream>
    #include <algorithm>
    #include <string.h>
    using namespace std;
    struct kruskal
    {
        int a;
        int b;
    };
    const int MAXX = 100000;
    int father[MAXX];
    int unionsearch(int x)
    {
        return x==father[x]?x:unionsearch(father[x]);
    }
    int main()
    {
        kruskal edge[MAXX];
            memset(edge,0,sizeof(kruskal));
            int n,l,v;
            cin>>l>>n>>v;
            for(int i =1; i<=l; i++)
            {
                father[i] = i;
            }
            for(int i =1; i<=n; i++)
            {
                cin>>edge[i].a>>edge[i].b;
            }
            for(int i =1; i<=n; i++)
            {
                int fa = unionsearch(edge[i].a);
                int fb = unionsearch(edge[i].b);
                if(fa !=fb)
                {
                    father[fb] = fa;
                }
            }
             for(int i =1; i<=v; i++)
             {
                int a,b;cin>>a>>b;
                int fa = unionsearch(a);
                int fb = unionsearch(b);
                if(fa==fb)
                    cout<<"Yes"<<endl;
                else
                    cout<<"No"<<endl;
             }
    
        return 0;
    }
    View Code
  • 相关阅读:
    python_函数_文件
    Day_2_Python_str_list_dict的使用
    Day_1_Python_循环和格式化
    influxdb2.0版本部署+自启
    格式化Java内存工具JOL输出
    卷心菜的屯币日记
    influxDB时序数据库2.0FLUX查询语法使用记录
    两种转换2021-01-01T00:00:00Z为2021-01-01 00:00:00时间格式的方式(UTC时间转为yyyy-MM-dd HH:mm:ss)
    ThreadLocal的用处
    CentOS7使用ISO镜像文件作为离线Yum源
  • 原文地址:https://www.cnblogs.com/locojyw/p/3714449.html
Copyright © 2011-2022 走看看