一笔画问题

时间限制: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

思路:首先利用深搜,判断下是否这个图中的每一个点都是连通的,如果每个点都是连在一起的,那么根据欧拉通路无向图的判定,判断是否有0个或者两个度数为奇数的节点。

ac代码:

#include<stdio.h>
#include<vector>
#include<string.h>
using namespace std;
vector<int>v[1010];
int n,m,vis[1010],indegree[1010];
void dfs(int cur){vis[cur]=1;for(int i=0;i<v[cur].size();i++){if(!vis[v[cur][i]]){int temp=v[cur][i];dfs(temp);}}
}
int main(){int T;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)v[i].clear();memset(indegree,0,sizeof(indegree));while(m--){int x,y;scanf("%d%d",&x,&y);v[x].push_back(y);v[y].push_back(x);indegree[x]++;indegree[y]++;}memset(vis,0,sizeof(vis));dfs(1);int flag=1,cnt=0;for(int i=1;i<=n;i++){if(!vis[i])flag=0;if(indegree[i]%2)cnt++; }if(flag&&(cnt==0||cnt==2))printf("Yes\n");elseprintf("No\n");}return 0;
} 

nyoj--82--一笔画问题相关推荐

  1. nyoj 42 一笔画问题 (搜索+队列)

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

  2. NYOJ 42 一笔画

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

  3. 《搜索》— NYOJ 42—一笔画问题

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

  4. NYOJ 42 一笔画问题

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 快有一个礼拜没写过博客了,数据结构里面的算法太多,经典题目就那么点,做一道少一道,因为 ...

  5. NYOJ 82:迷宫寻宝(一)(BFS)

    迷宫寻宝(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个很特别的迷宫,迷宫里有N个编过号 ...

  6. NYOJ 82 迷宫寻宝

    描述 一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个很特别的迷宫,迷宫里有N个编过号的门(N<=5),它们分别被编号为A,B,C,D,E.为了找到宝藏,ACM必须打开 ...

  7. 《搜索》— NYOJ 82 迷宫寻宝(一)

    迷宫寻宝(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个很特别的迷宫,迷宫里有N个编过号 ...

  8. 【办公类-19-04】办公中的思考——幼儿姓名笔画数统计(单字、全名字)

    结果展示--笔画数统计 背景需求 中6班幼儿都能够书写学号(基本没有镜像了),于是我开始尝试让幼儿熟悉自己的"姓氏",并书写姓氏(单字).4位幼儿能够默写全名,3位幼儿可以默写名字 ...

  9. nyoj 一笔画问题

    一笔画问题 时间限制: 3 Sec  内存限制: 64 MB [提交][状态][讨论版] 题目描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一 ...

  10. nyoj 一笔画问题

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

最新文章

  1. LeetCode Permutations II(有重复元素的全排列)
  2. 阅读redis源代码的一些体会
  3. Android开发8:UI组件TextView,EditText,Button
  4. C#-微信公众平台接口-上传临时素材
  5. hibernate 数据源配置文件
  6. matlab矩阵除以一个数字,matlab矩阵中每一行数除以一个数 | 学步园
  7. 基于区块链的思考与创新应用实践
  8. HDFS Federation机制
  9. 分库分表:TiDB,求别抢饭碗!
  10. 股票软件开发中全推与点播的区别
  11. 利用python抓取网页图片
  12. Caused by: java.lang.NoSuchMethodException: init [class android.content.Context, interface andr解决
  13. Windows10+VS2019+OpenGL安装配置详解
  14. 机器人码垛手持式编程_码垛机器人编程软件图解教程
  15. html注册手机号验证,js正则表达式验证手机号码,用户名和邮箱
  16. win禁用shift切换输入法
  17. Docker Macvlan
  18. 什么情况下PMP可自学?
  19. c语言把bit数据合为一个字节,C语言中怎么定义bit型数据
  20. pythonAI五子棋(二)

热门文章

  1. Map-Reduce
  2. 排序算法之——快速排序分析
  3. Looper对文件描述符的监控与处理
  4. 在一堆人还在犹豫《SEO实战密码》是否值得购买的时候,在下已经收藏了1/10的签名版
  5. 设计大师Donald Norman和Bill Buxton签书会在南京举行
  6. 02函数极限存在条件
  7. 隐马尔可夫模型通俗导论
  8. 服务器硬件工程师从入门到精通_硬件工程师必阅--如何“0基础”从入门到精通?(附CAD使用指南)...
  9. Ros学习笔记(三)创建节点及节点之间通信
  10. 蓝桥杯2018年第九届C/C++省赛B组第二题-明码