• 一笔画判断


    一笔画判断
    时间限制:1秒 内存限制:128M
    题目描述
    如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。 根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历;找欧拉路,则对一个奇点执行dfs,时间复杂度为O(m+n),m为边数,n是点数,题目保证该图连通,即从任何一点出发经过有限条路可以到达任何一点。
    输入描述
    第一行n,m,有n个点,m条边,以下m行描述每条边连接的两点。0<n<1000。
    输出描述


    有欧拉路输出“此图存在欧拉路,可一笔画成”,存在欧拉回路输出“此图存在欧拉回路,可一笔画成”,既不存在欧拉路也不存在欧拉回路,输出“此图无法一笔画成”

    样例
    输入
    5 5
    1 2
    2 3
    3 4
    4 5
    5 1
    输出
    此图存在欧拉回路,可一笔画成

    #include<iostream>
    using namespace std;
    int main()
    {
    int n,m,s=0,i,c[1001]={0};
    int a,b;
    cin>>n>>m;
    for(i=1;i<=m;i++)
    {
    cin>>a>>b;
    c[a]++;
    c[b]++;
    }
    for(i=1;i<=n;i++)
    {
    if(c[i]%2!=0)
    {
    s++;
    }
    }
    if(s==2)
    {
    cout<<"此图存在欧拉路,可一笔画成";
    }
    else if(s==0)
    {
    cout<<"此图存在欧拉回路,可一笔画成";
    }
    else
    {
    cout<<"此图无法一笔画成";
    }
    return 0;
    }

  • 相关阅读:
    常用正则表达式应用
    iOS 通知推送APNS
    IOS生活圈开发练习记录
    [转]定时器
    JavaScript如何在webView跳转到指点的位置
    用imageNamed加载图片产生的问题
    如何再分类中添加属性
    CADisplayLink定时器
    自定义UIBtton类后,在@implementation重写方法的作用
    CAAnimationGroup(组合动画)创建
  • 原文地址:https://www.cnblogs.com/tcwbob/p/13088437.html
Copyright © 2020-2023  润新知