zoukankan      html  css  js  c++  java
  • codevs 5929 亲戚x

                         题目描述 Description

    若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。

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

    输入描述 Input Description

    第一行:三个整数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是否具有亲戚关系。

    输出描述 Output Description

    P行,每行一个’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
    数据范围及提示 Data Size & Hint

    题目中已有,不重复解释。

    分类标签 Tags

     
     1 #include<iostream>
     2 #include<cstdio>
     3 #define Maxn 20002
     4 
     5 using namespace std;
     6 
     7 int father[Maxn];
     8 int n,m;
     9 
    10 int find(int x)//优化后的并查集 
    11 {
    12     if(father[x]!=x) father[x]=find(father[x]);
    13     return father[x];
    14 }
    15 
    16 void lianjie(int x,int y)
    17 {
    18     father[y]=x;
    19 }
    20 
    21 bool relation(int x,int y)
    22 {
    23     x=find(x);y=find(y);
    24     if(x==y) return 1;
    25     else return 0;
    26 }
    27 
    28 int main()
    29 {
    30     int a,b,c,d,q,f1,f2;
    31     scanf("%d%d%d",&n,&m,&q);
    32     for(int i=1;i<=n;i++) father[i]=i;//进行初始化赋值,即自己为自己的父亲 
    33     for(int i=1;i<=m;i++)
    34     {
    35         scanf("%d%d",&a,&b);
    36         f1=find(a);
    37         f2=find(b);
    38         if(f1!=f2) lianjie(f1,f2);//寻找祖先是否相同,如果不相同,将a与b的祖先连接 
    39     }
    40     while(q--)
    41     {
    42         scanf("%d%d",&c,&d);
    43         if(relation(c,d))printf("Yes
    ");
    44         else printf("No
    ");
    45     }
    46     return 0;
    47 }

    如果运气好也是错,那我倒愿意错上加错!

    ❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀

  • 相关阅读:
    初识敏捷开发
    【C#】HTTP请求GET,POST(远程证书失效)
    登录验证的js;JS验证邮箱 验证密码
    字符串验证类
    ASP.NET获取客户端信息,获取客户端IP等等
    HttpCookie类
    js获取页面的来源页
    JS URL传中文参数引发的乱码问题
    SQL Server 2008删除或压缩数据库日志的方法
    数据库SQL优化大总结之 百万级数据库优化方案
  • 原文地址:https://www.cnblogs.com/zxqxwnngztxx/p/6699747.html
Copyright © 2011-2022 走看看