一笔画问题

时间限制:3000 ms  |  内存限制:65535 KB
难度:4
描写叙述

zyc从小就比較喜欢玩一些小游戏。当中就包含画一笔画。他想请你帮他写一个程序。推断一个图是否可以用一笔画下来。

规定,全部的边都仅仅能画一次,不能反复画。

输入
第一行仅仅有一个正整数N(N<=10)表示測试数据的组数。

每组測试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000)。分别表示这个画中有多少个顶点和多少条连线。(点的编号从1到P)

随后的Q行。每行有两个正整数A,B(0<A,B<P),表示编号为A和B的两点之间有连线。

输出
假设存在符合条件的连线。则输出"Yes",

假设不存在符合条件的连线。输出"No"。
例子输入
2
4 3
1 2
1 3
1 4
4 5
1 2
2 3
1 3
1 4
3 4
例子输出
No
Yes
来源
[张云聪]原创
上传者
张云聪

ac代码

#include<stdio.h>
#include<string.h>
int head[1010];
struct s
{
int u,v,next;
}edge[2020*2];
int n,m,cnt,vis[1010],dig[1010],sum;
void add(int u,int v)
{
edge[cnt].u=u;
edge[cnt].v=v;
edge[cnt].next=head[u];
head[u]=cnt++;
}
void dfs(int u)
{
vis[u]=1;
sum++;
for(int i=head[u];i!=-1;i=edge[i].next)
{
int v=edge[i].v;
if(!vis[v])
dfs(v);
}
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
//int n,m;
scanf("%d%d",&n,&m);
int i,cnt=0;
memset(head,-1,sizeof(head));
memset(vis,0,sizeof(vis));
memset(dig,0,sizeof(dig));
for(i=0;i<m;i++)
{
int u,v;
scanf("%d%d",&u,&v);
dig[u]++;
dig[v]++;
add(u,v);
add(v,u);
}
sum=0;
dfs(1);
if(sum<n)
{
printf("No\n");
continue;
}
int ans=0;
for(i=1;i<=n;i++)
{
if(dig[i]&1)
ans++;
}
if(ans==2||ans==0)
{
printf("Yes\n");
}
else
printf("No\n");
}
}

NYOJ 题目42 一笔画问题(欧拉图)的更多相关文章

  1. NYOJ 题目42 一笔画问题

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...

  2. NYIST OJ 题目42 一笔画问题

    水题.无向图欧拉通路的判定.用并查集判定是不是连通图! #include<cstdio> #include<cstring> #include<cmath> #in ...

  3. nyoj 42 一笔画 欧拉通路

    http://acm.nyist.net/JudgeOnline/problem.php?pid=42 一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 zyc ...

  4. NYOJ 42 一笔画问题

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...

  5. nyoj 42 一笔画问题 欧拉路径

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 欧拉回路,欧拉路径水题~ 代码: #include "stdio.h&quo ...

  6. NYOJ 42 一笔画问题 (并查集+欧拉回路 )

    题目链接 描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来. 规定,所有的边都只能画一次,不能重复画.   输入 第一行只有一个正整数 ...

  7. nyoj 42-一笔画问题 (欧拉图 && 并查集)

    42-一笔画问题 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:10 submit:25 题目描述: zyc从小就比较喜欢玩一些小游戏,其中就包括画 ...

  8. NYOJ 42 一笔画

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...

  9. HDOJ 1878 欧拉回路 nyoj 42一笔画问题

    #include<cstdio> #include<cstring> ]; int find(int x) { if(visited[x]!=x) return find(vi ...

随机推荐

  1. 重构31-Replace conditional with Polymorphism(多态代替条件)

    多态(Polymorphism)是面向对象编程的基本概念之一.在这里,是指在进行类型检查和执行某些类型操作时,最好将算法封装在类中,并且使用多态来对代码中的调用进行抽象. public class O ...

  2. c# 导出DataSet到excel

    public static bool ExportToExcel_dataSet(string queryNo, string conditions) { bool _bl = false; try ...

  3. WebAPI中Area的使用

    很简单,创建area后,添加一下代码到AreaRegistration中即可 context.Routes.MapHttpRoute( name: "api_default", r ...

  4. IE浏览器样式表限制

    原文链接:http://caibaojian.com/ie-stylesheet.html 在开发头条上发现的IE浏览器样式限制,算是一个IE浏览器的一个bug吧.主要有4点限制:· IE9及以下单个 ...

  5. (转)淘淘商城系列——zookeeper单机版安装

    http://blog.csdn.net/yerenyuan_pku/article/details/72717744 这篇文章,我单独来说一下zookeeper如何安装.在实际开发中,zookeep ...

  6. Python_高阶函数、装饰器(decorator)

    一.变量: Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来. 对变量赋值x = y是把变量 ...

  7. badblocks - 查询设备的坏区块

    语法(SYNPSIS) badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i input_file ] [ -o outp ...

  8. AttributeError: 'tuple' object has no attribute 'extend'

    出错demo In [5]: a.extend([4,5]) --------------------------------------------------------------------- ...

  9. mysql安装及navicat连接

    1.下载mysql官方连接:https://dev.mysql.com/downloads/mysql/ 下载成功后,解压到自己想要的路径下并创建my.ini文件和配置环境变量 然后我们在根目录下创建 ...

  10. redis中基本命令

    记录一下redis中的基本命令.redis中有redis-cli工具客户端,使用这个客户端来发送一些命令 一.redis-cli的使用  1.redis-cli使用之发送命令 2.redis-cli使 ...