对于一个图G:如果存在一条路经过G的所有边,有且经过一次,那么称为欧拉路;
:如果存在一条回路经过G的所有边,有且经过一次,那么成为欧拉回路;
判定:有向图:欧拉路:有一个点入度-出度=1,有一个点出度-入度=1,其余点入度等于出度;
欧拉回路:所有点入度=出度;
无向图:欧拉路:只有两个定点奇数度,其余都为偶数度;
欧拉回路:所有定点都是偶数度;
当然,这里要求的所有图都是连通的,不连通的没有意义啊朋友;
然后就是基础的判定了,首先判定一个图是否连通,这里用并查集,和最小生成树的并查集一样的思想;
然后就是判断度了。。。
如果要求输出路径,就dfs搜一遍吧;