zoukankan      html  css  js  c++  java
  • 九度OJ 1027:欧拉回路 (欧拉回路)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:2989

    解决:1501

    题目描述:
        欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?
    输入:
        测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为0时输入结束。
    输出:
        每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。
    样例输入:
    3 3
    1 2
    1 3
    2 3
    3 2
    1 2
    2 3
    0
    样例输出:
    1
    0
    来源:
    2008年浙江大学计算机及软件工程研究生机试真题

    思路:

    开始以为这道题让输出欧拉回路,后来发现只要判断是否存在就可以了。判断欧拉回路非常简单:

    (1)对无向图,所有点度数为偶数;

    (2)对有向图,所有点入度等于出度,出发点和终止点分别多一条入度和出度。


    代码:

    #include <stdio.h>
    #include <string.h>
     
    #define N 1000
     
    int main(void)
    {
        int n, m;
        int i, j;
        int a, b;
        int map[N+1][N+1];
     
        while (scanf("%d%d", &n, &m) != EOF && n)
        {
            memset(map, 0, sizeof(map));
            for (i=0; i<m; i++)
            {
                scanf("%d%d", &a, &b);
                map[a][b] = map[b][a] = 1;
            }
     
            for (i=1; i<=n; i++)
            {
                int degree = 0;
                for (j=1; j<=n; j++)
                {
                    if (map[i][j])
                        degree ++;
                }
                if (degree%2 == 1)
                    break;
            }
            if (i <= n)
                printf("0
    ");
            else
                printf("1
    ");
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1027
        User: liangrx06
        Language: C
        Result: Accepted
        Time:80 ms
        Memory:4756 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    Tips for Hoops 3D & ACIS
    把书读薄TICPP(2)
    Software Toolbox EasyOPC简介
    Wonderware InSQL and Incurity安装心得
    Linux root password reset
    SQL Server 2005 的搞笑
    SVG 简介
    M0n0wall 是什么?
    Solaris 上调试系统 hang 的总结
    DDNS简介
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5084004.html
Copyright © 2011-2022 走看看