【欧拉回路】UOJ117[欧拉回路]题解

题目概述

判断无向图和有向图是不是欧拉回路。如果是,求出任意一条欧拉回路。

解题报告

判断欧拉回路:

  • 无向图:每个点的度数都是偶数。
  • 有向图:每个点的出度都等于入度。

证明?我不会啊!怎么求欧拉回路呢?因为已经确定了是欧拉回路,所以我们可以直接DFS瞎搞。随便从一个点开始DFS,一条边走过后就删除。回溯时将其入队。最后的队列反过来就是答案。

原理:最后的队列是返回路径,所以反过来就是答案。证明?我不会啊!

示例程序

#include<cstdio>
#include<cctype>
#include<cstring>
using namespace std;
const int maxn=100000,maxm=400000;

int tp,n,m,fa[maxm+5],ans[maxm+5],f[maxn+5],g[maxn+5];
int E,lnk[maxn+5],son[maxm+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值