nyoj42 一笔画问题【欧拉图(模板)】
2017-04-06 21:53
337 查看
无向图存在欧拉回路的充要条件
当且仅当这个图的所有顶点的度数是偶数,且该图是连通图。
无向图含有欧拉通路的充要条件
当且仅当这个图有零个或两个奇数度的结点,且该图是连通图。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int head[1010],tol,pre[1010],fa[1010];
int n,m;
int Find(int x){
int r=x;
while(fa[r]!=r)
r=fa[r];
int i=x,j;
while(fa[i]!=r){
j=fa[i];
fa[i]=r;
i=j;
}
return r;
}
void init(){
for(int i=1;i<=n;i++) fa[i]=i;
memset(pre,0,sizeof(pre));
}
bool Judge(){
int num=0;
for(int i=1;i<=n;i++){
if(pre[i]&1)
num++;
if(num>2) return false;
}
if(num!=2 && num!=0) return false;
num=0;
for(int i=1;i<=n;i++){
if(fa[i]==i) num++;
if(num>1) return false;
}
return true;
}
int main()
{
int T,u,v;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
init();
while(m--){
scanf("%d%d",&u,&v);
int x=Find(u);
int y=Find(v);
if(fa[x]!=y) fa[x]=y;
pre[u]++;
pre[v]++;
}
if(!Judge()){
puts("No");
continue;
}
puts("Yes");
}
return 0;
}
当且仅当这个图的所有顶点的度数是偶数,且该图是连通图。
无向图含有欧拉通路的充要条件
当且仅当这个图有零个或两个奇数度的结点,且该图是连通图。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int head[1010],tol,pre[1010],fa[1010];
int n,m;
int Find(int x){
int r=x;
while(fa[r]!=r)
r=fa[r];
int i=x,j;
while(fa[i]!=r){
j=fa[i];
fa[i]=r;
i=j;
}
return r;
}
void init(){
for(int i=1;i<=n;i++) fa[i]=i;
memset(pre,0,sizeof(pre));
}
bool Judge(){
int num=0;
for(int i=1;i<=n;i++){
if(pre[i]&1)
num++;
if(num>2) return false;
}
if(num!=2 && num!=0) return false;
num=0;
for(int i=1;i<=n;i++){
if(fa[i]==i) num++;
if(num>1) return false;
}
return true;
}
int main()
{
int T,u,v;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
init();
while(m--){
scanf("%d%d",&u,&v);
int x=Find(u);
int y=Find(v);
if(fa[x]!=y) fa[x]=y;
pre[u]++;
pre[v]++;
}
if(!Judge()){
puts("No");
continue;
}
puts("Yes");
}
return 0;
}
相关文章推荐
- nyoj42 一笔画问题 欧拉图
- NYOJ 42 一笔画问题 【欧拉图 + 并查集】
- nyoj42 一笔画问题 搜索+欧拉图
- nyoj42 一笔画问题(欧拉图、dfs)
- NYOJ 题目42 一笔画问题(欧拉图)
- NYOJ 题目42 一笔画问题(欧拉图)
- NYOJ 42-一笔画问题:欧拉路径
- NYOJ-42 一笔画问题
- nyoj 42 一笔画问题 (搜索+队列)
- NYOJ42 一笔画问题
- NYOJ 42 一笔画问题 http://acm.nyist.net/JudgeOnline/problem.php?pid=42
- nyoj_42_一笔画问题_201403181935
- NYOJ 42-一笔画问题:欧拉路径
- nyoj,42,一笔画问题
- NYOJ42-一笔画问题
- NYOJ-42 一笔画问题(图论,深搜)
- 欧拉路/回路_并查集 NYOJ 42 一笔画问题
- NYOJ 42 一笔画问题
- NYOJ42-一笔画问题
- NYOJ-42 一笔画问题