zoukankan      html  css  js  c++  java
  • hdoj--5526--欧拉回路(欧拉回路)

    

    欧拉回路

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 11717    Accepted Submission(s): 4296


    Problem Description
    欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?
     

    Input
    测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 < N < 1000 )和边数M;随后的M行对应M条边,每行给出一对正整数,分别是该条边直接连通的两个节点的编号(节点从1到N编号)。当N为0时输入结
    束。
     

    Output
    每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。
     

    Sample Input
    3 3 1 2 1 3 2 3 3 2 1 2 2 3 0
     

    Sample Output
    1 0
     

    Author
    ZJU
     

    Source
     

    Recommend
    We have carefully selected several similar problems for you:  1880 1881 1859 1860 1876 

    略坑,刚开始直接判定奇数度数了,wa一次,其实还需要判断是不是连在了一起,要用并查集判定的,其实还是觉得这个题目说的不是很清楚,存在欧拉回路是神魔意思啊,不用所有的点也行吗
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int dre[1010],pre[1010];
    int find(int x)
    {
    	return pre[x]==x?pre[x]:(pre[x]=find(pre[x]));
    }
    void join(int x,int y)
    {
    	int fx=find(x);
    	int fy=find(y);
    	if(fx!=fy)
    	pre[fx]=fy;
    }
    int main()
    {
    	int n,m;
    	while(scanf("%d",&n)!=EOF)
    	{
    		if(n==0) break;
    		scanf("%d",&m);
    		int x,y;
    		for(int i=1;i<=n;i++)
    		pre[i]=i;
    		memset(dre,0,sizeof(dre));
    		for(int i=0;i<m;i++)
    		{
    			scanf("%d%d",&x,&y);
    			join(x,y);
    			dre[x]++;
    			dre[y]++;
    		}
    		int cnt=0;
    		int flag=find(1);
    		for(int i=1;i<=n;i++)
    		{
    			if(dre[i]%2==1)
    			cnt++;
    			if(pre[i]!=flag)
    			cnt++;
    		}
    		if(cnt==0)
    			printf("1
    ");
    		else
    			printf("0
    ");
    	}
    	return 0;
    }

  • 相关阅读:
    vue-fullcalendar插件
    iframe 父框架调用子框架的函数
    关于调试的一点感想
    hdfs 删除和新增节点
    hadoop yarn 实战错误汇总
    Ganglia 安装 No package 'ck' found
    storm on yarn(CDH5) 部署笔记
    spark on yarn 安装笔记
    storm on yarn安装时 提交到yarn失败 failed
    yarn storm spark
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273382.html
Copyright © 2011-2022 走看看