欧拉回路题解

题目描述

输入一个无向连通图的,判断这个图是否存在欧拉回路,如果没有则输出“no oula circle”,如果有,输出以顶点1开始的一条欧拉回路,回路上顶点序号优先小的。

输入描述

第一行一个整数 n 和 k,表示这个图有 n 个顶点、k 条边,接下来 k 行,每行两个整数 ai​ 和 aj​,表示顶点 ai​ 和 aj​之间有一条边。

输出描述

如果不存在欧拉回路,请输出“no oula circle”,如果有欧拉回路,请输出顶点 1 开始的欧拉回路的顶点编号。

样例输入 1

6 7
1 2
1 3
3 4
2 4
4 5
5 6
6 4

样例输出 1

1 2 4 5 6 4 3 1
数据范围与提示

1<n,m≤100

代码(可复制)

#include<bits/stdc++.h>

using namespace std;
int n,m,arr[101][101],vis[101][101],dot[101],ans[101],flag;

void dfs(int x,int cnt){
    if(flag) return;
    ans[cnt]=x;
     if(cnt>m){
         flag=true;
     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值