NYOJ-一笔画问题(并查集+欧拉回路)
来源:互联网 发布:手机pdf语音朗读软件 编辑:程序博客网 时间:2024/05/21 09:47
NYOJ-42一笔画问题
时间限制: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.无奇数度点 2.只有一对奇数度点*/#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 1005;int n,m;int oin[maxn];int rank[maxn];int vis[maxn];int find(int x) //并查集-路径压缩{ if(x==oin[x]) return x; else oin[x]=find(oin[x]);}void init(){ memset(vis,0,sizeof(vis)); memset(rank,0,sizeof(rank)); memset(oin,0,sizeof(oin)); for(int i=1;i<=n;i++) oin[i]=i;}int main(){ int t; cin>>t; while(t--) { cin>>n>>m; init(); int a,b; for(int i=1;i<=m;i++) { cin>>a>>b; rank[a]++; rank[b]++; int fa=find(a); int fb=find(b); if(fa!=fb) //集的合并 oin[fa]=fb; } int cnt=0; for(int i=1;i<=n;i++) if(i==oin[i]) cnt++; if(cnt>1) cout<<"No"<<endl; else { int flag=0; //奇数度点个数。 for(int i=1;i<=n;i++) { if(rank[i]%2) flag++; } if(flag==0||flag==2)cout<<"Yes"<<endl; else cout<<"No"<<endl; } } return 0;}
阅读全文
1 0
- NYOJ 42 一笔画问题(并查集+欧拉回路)
- NYOJ 42 一笔画问题(DFS||并查集+欧拉回路)
- NYOJ-一笔画问题(并查集+欧拉回路)
- NYOJ 42 一笔画问题 (欧拉回路+并查集)
- NYOJ42 一笔画问题 【欧拉回路】+【并查集】
- nyoj 一笔画问题 【并查集+欧拉】
- 南阳42 一笔画问题(欧拉回路+并查集)
- nyoj42 一笔画问题(欧拉回路+并查集)
- NYOJ—一笔画问题(欧拉回路)
- NYOJ 42 一笔画问题(欧拉定理&&并查集)
- nyoj 42 一笔画问题(欧拉通路+dfs || 并查集)
- nyist 42 一笔画问题(欧拉回路+并查集)
- NYOJ+一笔画问题+先要判断无向图的连通性(DFS or并查集),然后使用欧拉回路。
- NYOJ 题目42 一笔画问题 (欧拉连通图+并查集)
- NYOJ 42:一笔画问题【欧拉回路】
- nyoj 42 一笔画问题《欧拉回路》
- NYOJ - 42 - 一笔画问题(欧拉回路,DFS)
- nyoj 42- 一笔画问题(欧拉回路)
- 物理环境下安装Centos+Openstack Makita
- ubuntu 安装jdk 的两种方式:
- Ubuntu系统,安装了一套eclipse+jdk+SDK的Android
- Sqlserver日期函数datepart
- html设置单元格亮边框颜色
- NYOJ-一笔画问题(并查集+欧拉回路)
- git常用命令小结
- BZOJ4843 [Neerc2016]Expect to Wait
- RTP解包
- NYOJ-最小步数(bfs)
- html设置单元格暗边框颜色
- html单元格背景
- C# 参数的默认值
- CS231N-Lecture5 Training Neural Network