算法训练营|图论第5天

题目:107.寻找存在的路径

题目链接:

107. 寻找存在的路径 (kamacoder.com)

代码:

cpp 复制代码
#include<bits/stdc++.h>
#include<unordered_map>
#include<unordered_set>
using namespace std;
vector<int>father;
int find(int u) {
	if (u == father[u]) return u;
	else return father[u] = find(father[u]);
}
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);
	return u == v;
}
int main() {
	int n, m;
	cin >> n >> m;	
	father = vector<int>(n + 1);
	for (int i = 0; i <= n; i++) {
		father[i] = i;
	}
	for (int i = 0; i < m; i++) {
		int s, t;
		cin >> s >> t;
		join(s, t);
	}
	int source, destination;
	cin >> source >> destination;
	if (isSame(source, destination)) {
		cout << 1 << endl;
	}
	else {
		cout << 0 << endl;
	}
}
相关推荐
库克克26 分钟前
【C++】set 与multiset
开发语言·c++
Mortalbreeze1 小时前
深入 Linux Socket 编程:端口号、网络字节序与 struct sockaddr 详解
linux·服务器·网络·c++
ekkoalex1 小时前
训练框架以及算法实现的框架
算法
DFT计算杂谈1 小时前
交错磁研究进展材料物性与交叉应用
数据库·人工智能·python·opencv·算法
玖玥拾1 小时前
LeetCode 26 删除有序数组中的重复项
算法·leetcode
Kina_C2 小时前
LVS负载均衡的十二种核心调度算法
linux·运维·算法·负载均衡·lvs
繁星蓝雨2 小时前
C++设计原理——异常处理
java·c++·异常处理·noexcept·throw·try catch
Kurisu_红莉栖3 小时前
关于相关问题的自我回答
c++
hansang_IR3 小时前
【题解】[AGC020E] Encoding Subsets
c++·算法·dp
核数聚3 小时前
【赛迪专访核数聚】深耕数据治理,打通数据孤岛夯实 AI 发展根基
大数据·人工智能·算法