算法训练营|图论第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;
	}
}
相关推荐
晨曦(zxr_0102)1 分钟前
CSP-X 2024 复赛编程题全解(B4104+B4105+B4106+B4107)
数据结构·c++·算法
ai安歌1 分钟前
【Rust编程:从新手到大师】 Rust 控制流深度详解
开发语言·算法·rust
Shinom1ya_3 分钟前
算法 day 36
算法
·白小白5 分钟前
力扣(LeetCode) ——15.三数之和(C++)
c++·算法·leetcode
海琴烟Sunshine6 分钟前
leetcode 268. 丢失的数字 python
python·算法·leetcode
CL.LIANG10 分钟前
视觉SLAM前置知识:相机模型
数码相机·算法
无限进步_26 分钟前
深入理解C语言scanf函数:从基础到高级用法完全指南
c语言·开发语言·c++·后端·算法·visual studio
Lei_33596734 分钟前
[算法]十大排序
数据结构·算法·排序算法
m0_748240251 小时前
C++仿Muduo库Server服务器模块实现 基于Reactor模式的高性
服务器·c++·php
大数据张老师1 小时前
数据结构——堆排序
数据结构·算法·排序算法