题目

可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707—1783)最终解决了这个问题,并由此创立了拓扑学。这个问题如今可以描述为判断欧拉回路是否存在的问题。欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个无向图,问是否存在欧拉回路?

代码

/*本题代码用于解决,PTA上一题,哥尼斯堡"七桥"问题(寻找欧拉回路).采用算法:并查集.欧拉回路的计算方法(途中各个定点相互连通,且所有定点的度为偶数)
*/
#include<stdio.h>
#include<stdlib.h>
#define N 1000
int find(int x);
void merge(int x,int y);//采用并查集int degree[N],fa[N];void main(){int i,n,x,j;int vi,vj;int count=0,cn=0;scanf("%d",&n);scanf("%d",&x);
//fa[]初始化for(i=1;i<=n;i++)fa[i]=i;
//degree[]初始化for(i=1;i<=n;i++)degree[i]=0;
//图输入边while( (x--) >0 ){scanf("%d",&vi);scanf("%d",&vj);degree[vi]++;degree[vj]++;merge(vi,vj);}for(i=1;i<=n;i++)if(degree[i]%2!=0)cn++;for(i=1;i<=n;i++){if(fa[i]==i)count++;}if(count>1||cn>0){printf("0 \n");}elseprintf("1 \n");system("pause");
}int find(int x){if(fa[x]==x)return x;elsereturn fa[x]=find(fa[x]);
}void merge(int x,int y){int tempx,tempy;tempx=fa[x];tempy=fa[y];fa[tempx]=tempy;
}

并查集概述

核心代码

int find(int x){if(fa[x]==x)return x;elsereturn fa[x]=find(fa[x]);
}void merge(int x,int y){int tempx,tempy;tempx=fa[x];tempy=fa[y];fa[tempx]=tempy;
}

讲解连接

https://zhuanlan.zhihu.com/p/93647900/

案例6-1.3 哥尼斯堡的“七桥问题”相关推荐

  1. 哥尼斯堡的“七桥问题” (欧拉回路,并查集)

    哥尼斯堡的"七桥问题"   (25分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉 ...

  2. 结构与算法 7-32 哥尼斯堡的“七桥问题” (25 分)

    7-32 哥尼斯堡的"七桥问题" (25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数 ...

  3. 7-41 哥尼斯堡的“七桥问题” (25 分)

    哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...

  4. 7-32 哥尼斯堡的“七桥问题” (欧拉回路)(PAT算法题目集)

    7-32 哥尼斯堡的"七桥问题" 分数 25 作者 DS课程组 单位 浙江大学 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七 ...

  5. 5-32 哥尼斯堡的“七桥问题” (25分)

    5-32 哥尼斯堡的"七桥问题" (25分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学 ...

  6. pta 哥尼斯堡的“七桥问题”

    7-14 哥尼斯堡的"七桥问题"(25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学 ...

  7. 7-12 哥尼斯堡的“七桥问题” (25 分)(并查集)

    7-12 哥尼斯堡的"七桥问题" (25 分) 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数 ...

  8. 7-32 哥尼斯堡的“七桥问题” (25分)

    7-32 哥尼斯堡的"七桥问题" (25分) 数据结构与算法题目集 问题: 哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥 ...

  9. PTA——哥尼斯堡的“七桥问题(出现运行超时?不妨进来看看)

    哥尼斯堡的"七桥问题 题目 答案 总结 题目 答案 #include<iostream> #include<vector> #include<cstring&g ...

最新文章

  1. 7000 界面语言不升级_仅限今日!手把手教你C++图形界面开发|附完整代码,海量干货!...
  2. 迷宫问题最短捷径c语言深搜,迷宫问题 C语言实现(深搜)
  3. python 调用 tensorflow.dll_解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题...
  4. mybatis表关联彻底理解
  5. MFC的SendMessage函数详解
  6. Android开发环境(IDE)
  7. 面试题 02.02. 返回倒数第 k 个节点
  8. matlab vec2ind,MATLAB函数ind2vec的作用
  9. c语言中return,和exit的区别
  10. Black Hat USA 2020 大会主议题大盘点(上)
  11. word文档分节后 如何删除某一节的页码
  12. js标准时间转换为时间戳
  13. jquery ajax 参数放到 request playload 中
  14. 基于C++实现(控制台+界面)通讯录管理系统【100010012】
  15. 实例比较单精度浮点型,双精度浮点型运算结果精度
  16. chalk.js(node终端样式库)
  17. vad算法matlab,语音信号的端点检测的matlab代码(子带谱熵法法)
  18. CSDN 还是一个不错的技术社区
  19. VS2013 ocx去除安全警告
  20. 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录

热门文章

  1. 2020李宏毅学习笔记——15.Recurrent Netural Network 上
  2. 利用pytho绘制九九口诀表
  3. Matlab 2014a 安装
  4. Zookeeper + Centos7 详细安装教程
  5. 文本标注开源系统Doccano、Label Studio、BRAT比较
  6. 经典兔子问题(又名斐波那契数列)
  7. 智能驾驶仿真场景构建技术
  8. 请编写一个程序,输入一个由小写字母和其他字符构成的序列字符串保存在tt中,统计“a”到“z”26个字母各自出现的次数,并依次保存在pp数组中,并输出pp数组内容。
  9. html大屏可视化边框怎么弄的,做大屏可视化,你需要知道这几点
  10. IEEE 754二进制浮点数算术标准