1380 一笔画问题

如果一个无向图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
#define N 510
int g[N][N],d[N],c[N],n,m,reckon,oddity_point,lt;
void dfs(int i)
{
    for(int j=1;j<=n;j++)
    {
        if(g[i][j]==1)
        {
            g[i][j]=0;
            g[j][i]=0;
            dfs(j);
        }
    }
    c[++reckon]=i;
    
    return;
}
int main()
{
    cin>>n>>m;
    int x,y;
    memset(g,0,sizeof(g));
    for(int i=1;i<=m;i++)
    {
        cin>>x>>y;
        g[x][y]=1;
        g[y][x]=1;
        d[x]++;
        d[y]++;
    }
    int z=1;
    for(int i=1;i<=n;i++)
    {
        if(d[i]%2==1)
        {
            z=i;
            oddity_point++;
        }
        if(d[i]==0)
        {
            lt++;
        }
    }
    dfs(z);
    if(oddity_point!=2&&oddity_point!=0)
    {
        cout<<"NO";
        return 0;
    }
    if(lt!=0)
    {
        cout<<"NO";
        return 0;
    }
    for(int i=1;i<=reckon;i++)
    {
        cout<<c[i]<<" ";
    }
    return 0;
}
相关推荐
通信小呆呆4 小时前
电子战抗干扰技术:当“不被干扰”成为一种系统
算法·通信·mimo·isac
笑容掩饰我的失落4 小时前
区块链从小白到精通(八):从零实现一个标准 ERC-20 代币(完整可运行代码)
算法·区块链·php·智能合约·哈希算法
Severus_black5 小时前
【C++初阶】Stack、Queue算法题大练兵!
c语言·c++·算法·stl
2601_967979128 小时前
机器学习必修课:经典算法与Python实战
python·算法·机器学习·实战·课程
程序猿打工仔8 小时前
计算机基础(C语言)考编、专技岗
c语言·开发语言·算法
通信小呆呆8 小时前
电子战干扰技术:从“蛮力压制”到“精准欺骗”,再到“认知博弈”
算法·通信·isac
老师我太想进步了20268 小时前
【数据结构-6】算法美学之单链表(1)
数据结构·算法
希望我万事顺遂9 小时前
力扣hot100-滑动窗口最大值
数据结构·算法·leetcode
꧁细听勿语情꧂10 小时前
二叉树余题,排序、直接插入排序、希尔排序
c语言·开发语言·数据结构·算法
是main不是漫10 小时前
【双指针|LeetCode1089 复写零】巧用逆向思路,破解原地覆盖陷阱
数据结构·算法·leetcode