算法训练营|图论第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;
	}
}
相关推荐
ゞ 正在缓冲99%…3 分钟前
leetcode1547.切棍子的最小成本
数据结构·算法·leetcode·动态规划
海盗猫鸥4 分钟前
「C++」vector的使用及接口模拟详解
开发语言·c++
2401_8414956415 分钟前
【LeetCode刷题】移动零
数据结构·python·算法·leetcode·数组·双指针法·移动零
开心星人1 小时前
Leetcode hot100 Java刷题(二)
java·算法·leetcode
liulilittle1 小时前
CPU亲和性深度实践:从基础原理到Intel大小核架构优化
c++·线程·进程·cpu·量化·高频·亲核性
hn小菜鸡1 小时前
LeetCode 153.寻找旋转排序数组中的最小值
数据结构·算法·leetcode
Albert Edison1 小时前
【项目设计】基于正倒排索引的Boost搜索引擎
linux·网络·c++·后端·http·搜索引擎
DeniuHe2 小时前
逻辑回归(Logistic Regression)详细解释与公式推导
算法·机器学习·逻辑回归
迅量科技资讯分享2 小时前
手机拍照明晰度评估:传感器尺寸像素数量与处理器算法解析
算法·三星·像素
liu****2 小时前
12.线程同步与互斥
linux·数据结构·c++·算法·1024程序员节