算法训练营day69

查并集:107. 寻找存在的路径 (kamacoder.com)

复制代码
#include<iostream>
#include<vector>

using namespace std;

vector<int> father(101, 0);

void init() {
    for(int i = 1;i <= 101;i++) {
        father[i] = i;
    }
}

int find(int v) {
    if(v == father[v]) return v;
    else return father[v] = find(father[v]);
}

void join(int u, int v) {
    u = find(u);
    v = find(v);
    if(u == v) return;
    father[v] = u;
}

bool isSame(int u, int v) {
    u = find(u);
    v = find(v);
    if(u == v) return true;
    else return false;
}

int main() {
    int N, M;
    cin >> N >> M;
    init();
    while(M--) {
        int i, j;
        cin >> i >> j;
        join(i, j);
    }
    int start, end;
    cin >> start >> end;
    if(isSame(start, end)) cout << 1 << endl;
    else cout << 0 << endl;
    return 0;
}
相关推荐
hPw0eKIqD4 小时前
C++ 模板参数推导问题小记(非推导上下文)
开发语言·c++
程序员爱德华5 小时前
Python与C++:异同点对比
c++·python
888CC++8 小时前
C语言与C++的区别:从面向过程到面向对象
java·c语言·c++
Darkwanderor9 小时前
Linux系统编程实战项目:模拟实现shell
linux·c++
himobrinehacken10 小时前
揭秘Windows程序启动的神秘之旅
c++·安全
库玛西10 小时前
C++ 运行时多态 :核心总结与原理图解
c语言·c++·笔记
Byron Loong11 小时前
【C++】重定向是什么
开发语言·c++
hansang_IR12 小时前
【题解】LC:Z 算法(Z Algorithm)
c++·算法·字符串
霍霍的袁14 小时前
【C++】模板从入门到进阶(函数模板 + 类模板 + 特化 + 分离编译)
开发语言·c++·visual studio
海清河晏11114 小时前
Qt 实战:信号与槽+事件系统
开发语言·c++·qt