给定一个有N个顶点和E条边的无向图,请判断给定的两个顶点之间是否有路径存在。 假设顶点从0到N−1编号。

输入格式:

输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。

随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。

最后一行给出两个顶点编号i,j(0≤i,j<N),i和j之间用空格分隔。

输出格式:

如果i和j之间存在路径,则输出"There is a path between i and j.",

否则输出"There is no path between i and j."。

输入样例1:

7 6
0 1
2 3
1 4
0 2
1 3
5 6
0 3

结尾无空行

输出样例1:

There is a path between 0 and 3.

结尾无空行

输入样例2:

7 6
0 1
2 3
1 4
0 2
1 3
5 6
0 6

结尾无空行

输出样例2:

There is no path between 0 and 6.

结尾无空行

#include<bits/stdc++.h>
using namespace std;
int pre[100];int find(int x)
{if (pre[x] == x)return x;elsereturn pre[x] = find(pre[x]);
}void merge(int x, int y)
{int xx = find(x);int yy = find(y);if (xx != yy)pre[xx] = yy;
}int main()
{int i, j, n, m, a, b, k1, k2;for (i = 0; i < 100; i++) {pre[i] = i;}cin >> n >> m;for (i = 0; i < m; i++) {cin >> a >> b;merge(a, b);}cin >> k1 >> k2;if(find(k1) == find(k2))printf("There is a path between %d and %d.", k1, k2);elseprintf("There is no path between %d and %d.", k1, k2);return 0;
}

数据结构与算法A实验六图论---7-8判断是否有路径(并查集)相关推荐

  1. 数据结构与算法A实验六图论---7-11 邻接表创建无向图

    采用邻接表创建无向图G ,依次输出各顶点的度. 输入格式: 输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶点数和边数. 输入第二行为顶点的信息,每个顶点只能用一个字符表 ...

  2. 数据结构与算法A实验六图论---7-6 家庭房产(并查集)

    给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产: 编号 父 ...

  3. 数据结构与算法A实验六图论---7-9 最短路径(并查集Dijkstra)

    给定一个有N个顶点和E条边的无向图,顶点从0到N−1编号.请判断给定的两个顶点之间是否有路径存在.如果存在,给出最短路径长度. 这里定义顶点到自身的最短路径长度为0. 进行搜索时,假设我们总是从编号最 ...

  4. 数据结构与算法A实验六图论(C语言参考代码)

    7-1 列出连通集 (25 分) 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序 ...

  5. 数据结构与算法A实验六图论---7-5 任务调度的合理性(拓扑排序)

    假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行."任务调度"包括一组子任务.以及每个子任务可以执行所依赖的子任务集. 比如完 ...

  6. 数据结构与算法A实验六图论---7-4 公路村村通(最小生成树Prime和Kruskal算法)

    现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N) ...

  7. 数据结构与算法A实验六图论---7-10 邻接矩阵表示法创建无向图

    采用邻接矩阵表示法创建无向图G ,依次输出各顶点的度. 输入格式: 输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶点数和边数. 输入第二行为顶点的信息,每个顶点只能用一 ...

  8. 数据结构与算法A实验六图论---7-2 哈利·波特的考试(Flody算法)

    哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等.反方向变化的魔咒就是简单地将原来的魔咒倒过来念 ...

  9. 数据结构与算法A实验六图论---7-12 Dijkstra算法(模板)

    给一个n(1 ≤ n ≤ 2500) 个点 m(1 ≤ m ≤ 6200) 条边的无向图,求 s 到 t 的最短路. 输入格式: 第一行四个由空格隔开的整数 n.m.s.t. 之后的 m 行,每行三个 ...

  10. 数据结构与算法A实验六图论---7-7 最短工期 (拓扑排序)

    一个项目由若干个任务组成,任务之间有先后依赖顺序.项目经理需要设置一系列里程碑,在每个里程碑节点处检查任务的完成情况,并启动后续的任务.现给定一个项目中各个任务之间的关系,请你计算出这个项目的最早完工 ...

最新文章

  1. cin、getline的坑
  2. BootLoader引导程序制作及移植(一)
  3. Book Review 《构建之法》-2
  4. 复习JavaScript随手记
  5. 在J2SE应用程序中模拟CDI的会话和请求范围
  6. 项目管理十大知识领域,为何不含
  7. HTML+CSS详解
  8. python竞赛试题及答案_【技术分享】用python解NOIP竞赛题
  9. 投屏后能在电脑操作手机吗 手机投屏电脑操作手机软件
  10. 超详细|开关电源电路图及原理讲解;以UC3842为中心的开关电源介绍,重点是以光耦和电流互感器为关键的反馈电路,以及在此基础上的过压欠压短路等各种保护稳压电路措施
  11. R语言之长宽数据转换
  12. java四目运算符_小心! JAVA三目运算符
  13. 计算机毕业设计JavaWeb企业客户管理系统(源码+系统+mysql数据库+lw文档)
  14. 下载了免费的txt电子书,如何用IOS苹果手机打开?
  15. ACM-ICPC 成为方正快手等企业 HR 的战场
  16. mysql 导出dmp文件_Linux环境下使用crontab实现mysql定时备份
  17. 群体遗传分析—LD连锁不平衡
  18. 影响神经网络训练速度的因素
  19. AOV网络——初了解
  20. jquery 获取父级元素、子级元素、兄弟元素的方法

热门文章

  1. 边缘计算导论——中山大学程旭老师课程总结
  2. (附源码)nodejs+mysql+node基于vue框架的游戏商城设计及开发 -《夜幕》毕业设计262127
  3. [java] 分布式id生成方案
  4. 如何使用charles+mock替换接口返回来测试
  5. 微信内网页安卓点击图片放大与IOS点击失效处理方法
  6. Gradle接入checkstyle代码风格检查插件
  7. 波形包络提取与峰值提取_干涉信号中的小波峰峰值提取方法与流程
  8. 低代码开发平台建设步骤及思考
  9. BenchmarkSQL对mysql进行性能测试
  10. openwrt 添加4G拨号(qmi驱动)