邓州企业网站百度旧版本
这种「一笔画」问题与欧拉图或者半欧拉图有着紧密的联系,下面给出定义:
通过图中所有边恰好一次且行遍所有顶点的通路称为 欧拉通路;
通过图中所有边恰好一次且行遍所有顶点的回路称为 欧拉回路;
具有欧拉回路的无向图称为 欧拉图;
具有欧拉通路但不具有欧拉回路的无向图称为 半欧拉图。
对于无向图 G,G 是欧拉图当且仅当 G 是连通的且没有奇度顶点。
对于无向图 G,G 是半欧拉图当且仅当 G 是连通的且 G 中恰有 0 个或 2 个奇度顶点。
对于有向图 G,G 是欧拉图当且仅当 G 的所有顶点属于同一个强连通分量且每个顶点的入度和出度相同。
对于有向图 G,G 是半欧拉图当且仅当 如果将 G 中的所有有向边退化为无向边时,那么 G 的所有顶点属于同一个强连通分量;最多只有一个顶点的出度与入度差为 1;最多只有一个顶点的入度与出度差为 1;所有其他顶点的入度和出度相同。
2097. 合法重新排列数对
把数组 pairs 中出现的每个 数 看成一个节点,(start_i,end_i) 看成从 start_i 到 end_i 的一条有向边,那么 pairs 的一个合法排列就对应着一条路径。这条路径经过了图上的每一条边恰好一次,是一条「欧拉通路」,因此目标就是找出图上的任意一条欧拉通路。
首先需要找到