「须知少时凌云志,曾许人间第一流」|

BadBadBad__AK

园龄:1年6个月粉丝:13关注:6

【一本通提高篇欧拉回路】欧拉回路1 题解

题目

image
传送门

思路:

dfs秒了!

Code

#include <iostream>
#include <cstring>
using namespace std;
const int maxn=1005;
int visit[maxn],d[maxn][maxn],degree[maxn];
int n,m;
void dfs(int s) //判断图是否联通
{
    visit[s]=1;
    for(int i=1;i<=n;i++)
    {
        if(d[s][i]&&!visit[i])
            dfs(i);
    }
}
int main()
{
    ios::sync_with_stdio(false);
    while(cin>>n&&n)
    {
        memset(visit,0,sizeof(visit));
        memset(d,0,sizeof(d));
        memset(degree,0,sizeof(degree));
        cin>>m;
        int a,b;
        for(int i=0;i<m;i++)
        {
            cin>>a>>b;
            d[a][b]=d[b][a]=1;
            degree[a]++;
            degree[b]++;
        }
        dfs(1);
        bool flag=true;
        for(int i=1;i<=n;i++)
        {
            if(!visit[i])
                flag=false;
            if(degree[i]%2!=0)
                flag=false;
        }
        if(flag)
            cout<<"1"<<endl;
        else
            cout<<"0"<<endl;
    }
    return 0;
}

本文作者:BadBadBad__的博客

本文链接:https://www.cnblogs.com/BadBadBad/p/OuLaHuiLuA.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   BadBadBad__AK  阅读(111)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起