系统的学习一遍图论!从这篇博客开始!
先介绍一些概念。
无向图:
G为连通的无向图,称经过G的每条边一次并且仅一次的路径为欧拉通路。
如果欧拉通路是回路(起点和终点相同),则称此回路为欧拉回路。
具有欧拉回路的无向图G称为欧拉图。
有向图:
D为基图连通的有向图,则称经过D的每一条边并且仅一次的路径为有向欧拉通路。
如果该通路是回路,则称为有向欧拉回路。
具有有向欧拉回路的有向图D称为有向欧拉图。
无向图判断欧拉通路:G为连通图,且仅有两个奇度的节点或者无奇度节点。
如果有两个奇度的点,那么这两点必定为欧拉通路的起点和终点。
如果没有奇度的节点,那么该图一定有欧拉回路。
有向图判断欧拉通路:D的基图连通,并且所有节点的出度和入度相同,那么该图存在有向欧拉回路。
如果仅有两个节点的出度和入度之差为1和-1,那么该图一定存在欧拉通路,并且一定以入度出度之差为-1的点为起点,入度出度之差为1的点为终点。
/************************************************************以上概念******************************************************************/
接下来介绍这道题。
题意就是能否从一个点出发,经过所有的边,回到节点0。
思路:就是判断一下,如果起点就是0,那么就是求是否存在欧拉回路。
如果起点不是0,那么就是求是否存在欧拉通路,并且欧拉通路的起点终点为0和输入的起点。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include