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;
}
相关推荐
做怪小疯子8 分钟前
LeetCode 热题 100——普通数组——除自身以外数组的乘积
数据结构·算法·leetcode
稚辉君.MCA_P8_Java1 小时前
DeepSeek Java 插入排序实现
java·后端·算法·架构·排序算法
池塘的蜗牛1 小时前
NR系统相位补偿的原因与原理
算法
Sɪʟᴇɴᴛ໊ོ2352 小时前
Anyview数据结构第一章(按需自取)
c语言·开发语言·数据结构·算法
松岛雾奈.2302 小时前
机器学习--数据集的标准化和归一化算法;随机森林
人工智能·算法·机器学习
橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——丢失的数字
数据结构·算法·leetcode·结构与算法
努力的白熊嗨2 小时前
大文件 Hash 计算:Web Worker 并行优化的原理与局限性
javascript·算法
CoovallyAIHub2 小时前
存储风暴下的边缘智能韧性:瑞芯微RK3588如何将供应链挑战转化为市场机遇
深度学习·算法·计算机视觉
杜子不疼.2 小时前
【C++】解决哈希冲突的核心方法:开放定址法 & 链地址法
c++·算法·哈希算法
落羽的落羽2 小时前
【Linux系统】解明进程优先级与切换调度O(1)算法
linux·服务器·c++·人工智能·学习·算法·机器学习