博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
南阳42--一笔画问题
阅读量:6692 次
发布时间:2019-06-25

本文共 1221 字,大约阅读时间需要 4 分钟。

 

一笔画问题

时间限制:
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"。
样例输入
24 31 21 31 44 51 22 31 31 43 4
样例输出
NoYes
来源
上传者
//判断节点的度来判断图的连通, 感觉这个题判题不严格。
1 #include 
2 #include
3 #include
4 using namespace std; 5 6 7 const int INF = 0x3f3f3f3f; 8 int father[1010], degree[1010], vis[1010]; 9 int i, j, n, flag;10 11 void init()12 {13 memset(vis, 0, sizeof(vis));14 memset(degree, 0, sizeof(degree));15 for(i=1; i<=n; i++)16 father[i] = i;17 }18 19 int find(int a)20 {21 while(a != father[a])22 a = father[a];23 return a;24 }25 26 void mercy(int a, int b)27 {28 int q = find(a);29 int p = find(b);30 if(q != p)31 father[q] = p;32 }33 34 int main()35 {36 int m, t;37 scanf("%d", &t);38 while(t--)39 {40 scanf("%d %d", &n, &m);41 init();42 for(i=0; i

 

//It's bad. ~ !

转载于:https://www.cnblogs.com/soTired/p/4689209.html

你可能感兴趣的文章
1303: [CQOI2009]中位数图
查看>>
在数组的开头插入键值对
查看>>
LTTng
查看>>
常用模块
查看>>
HTTPS = HTTP + SSL
查看>>
Copy修饰的NSArray
查看>>
eclipse新建web项目
查看>>
gnuplot
查看>>
GraphQL(三):GraphQL集成SpringBoot原理
查看>>
Balloons
查看>>
posix消息队列(1)
查看>>
using for jekyll
查看>>
Jenkins的授权和访问控制
查看>>
C/C++里的const(1)
查看>>
Expert 诊断优化系列-------------针对重点语句调索引
查看>>
解决Run As -> Java Application不能运行问题
查看>>
JSP 注释的详解及简单实例
查看>>
c:\Windows\System32\drivers\etc\hosts的作用
查看>>
2.Xml与多个对象的映射(聚合或组合)及注意事项
查看>>
java报表开发之报表总述
查看>>