码迷,mamicode.com
首页 > 其他好文 > 详细

判欧拉回路或求一个图中欧拉图的个数

时间:2015-04-21 18:04:58      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:欧拉图   欧拉回路   判欧拉图   dfs   联通块   

判欧拉图两个条件首先联通,其次度全部为欧度。那么就很easy了。
题目:hdoj1878

求一个图中欧拉图的个数。
首先通过连通性求出各个子图,然后求子图中奇数度的个数cnt,cnt/2为欧拉图的个数。若子图没有奇数度,则为一个欧拉回路。
题目:hdoj3018Ant Trip
注意这个题目中可能出现孤立点,不算入欧拉图中。

AC代码:

include

include

include

include

include

include

include

include

include

include

include

using namespace std;
const int inf = 0x3f3f3f3f;
const int N = 100030;
int cnt[N];
int ans,cou;
vector g[N];
bool ok[N];
void dfs(int x)
{
for(int i=0;i

判欧拉回路或求一个图中欧拉图的个数

标签:欧拉图   欧拉回路   判欧拉图   dfs   联通块   

原文地址:http://blog.csdn.net/y990041769/article/details/45173303

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!