【4.11日题解】——亲戚(c代码表述)

简介: 【4.11日题解】——亲戚(c代码表述)

☘前言☘

今日份水题开始。希望有想要提高的同学跟我们一起来刷题0.0

4.11日每日一题——亲戚


🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人

✨联系方式:2201891280(QQ)

⏳全文大约阅读时间: 20min


全文目录

☘前言☘

解题思路

📑写在最后

P1551 亲戚


解题思路

挺好的题目,本来没看过并查集的概念,这次了解了一下,其实思路就是每个节点都保存自己的最祖先的那个,如果最终两个祖先相同就直接返回Yes,否则就是No,然后其实每个节点保存自己的最祖先的那个节点信息就好了,所以在查找祖先的时候可以把数组中的元素直接标记加速。


#include <stdio.h>
int f[5010];
int Find(int x){
    if(f[x] == x)   return x;
    else return f[x] = Find(f[x]);
}
int main(){
    int m,n,k;
    scanf("%d %d %d",&m,&n,&k);
    for(int i = 1;i<= m;++i)    f[i] = i;   //指向自己
    while(n--){
        int o,k;
        scanf("%d %d",&o, &k);
        f[Find(o)] = Find(k);//合并两个并查集
    }
    while(k--){
        int o,k;
        scanf("%d %d",&o, &k);
        Find(o) == Find(k) ? printf("Yes\n") : printf("No\n");
    }
    return 0;
}


相关文章
|
6月前
|
算法 搜索推荐 程序员
C语言第三十六练——多重背包
C语言第三十六练——多重背包
82 0
|
1月前
|
算法
计科一二班算法数据结构实验9答案
计科一二班算法数据结构实验9答案
14 0
|
6月前
|
C语言
每天一道C语言编程(递归:斐波那契数,母牛的故事)
每天一道C语言编程(递归:斐波那契数,母牛的故事)
39 0
|
算法 C语言
【零钱问题】C语言贪心算法分析(文末彩蛋)
【零钱问题】C语言贪心算法分析(文末彩蛋)
159 0
|
6月前
|
机器学习/深度学习
蓝桥杯-2/14天-完全平方数【另类思路】
蓝桥杯-2/14天-完全平方数【另类思路】
|
算法
【每日挠头算法题】Acwing 756. 蛇形矩阵 —— 巧妙解法
【每日挠头算法题】Acwing 756. 蛇形矩阵 —— 巧妙解法
136 0
【每日挠头算法题】Acwing 756. 蛇形矩阵 —— 巧妙解法
|
数据安全/隐私保护 Python
一眼就解密题解
一眼就解密题解
198 0
一眼就解密题解
|
算法
这样给面试官解释约瑟夫环问题的几种巧妙解法,面试官满意的笑了
约瑟夫环问题是算法中相当经典的一个问题,其问题理解是相当容易的,并且问题描述有非常多的版本,并且约瑟夫环问题还有很多变形,这篇约瑟夫问题的讲解,一定可以带你理解通通!
144 0
这样给面试官解释约瑟夫环问题的几种巧妙解法,面试官满意的笑了
|
人工智能
每天两道 CodeForces 构造/思维题 (day5)
每天两道 CodeForces 构造/思维题 (day5)
每天两道 CodeForces 构造/思维题 (day5)