hdu1878-并查集,欧拉回路
2024-08-31 18:39:48
纯裸题。。写着方便理解。。。
题意:判断一个无向图是否存在欧拉回路。。。
解题思路:并查集判断一下是否联通,然后再判断一下点的度数是否为偶数就行了;
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#define maxn 2010
using namespace std;
int f[maxn];
int findf(int x)
{
if(f[x]==x)
return x;
else return findf(f[x]);
}
void join(int x,int y)
{
int t1,t2;
t1=findf(x);
t2=findf(y);
if(t1!=t2)
f[t2]=t1;
}
int main()
{
int n;
int degree[maxn];
int m;
int cnt;
int x,y;
int flag;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==)
break;
cnt=,flag=;
memset(degree,,sizeof(degree));
for(int i=;i<=n;i++)
f[i]=i;
for(int i=;i<=m;i++)
{
scanf("%d%d",&x,&y);
join(x,y);
degree[y]++;
degree[x]++;
}
for(int i=;i<=n;i++)
{
if(f[i]==i)
cnt++;
}
for(int i=;i<=n;i++)
{
if(degree[i]%==)
flag=;
}
if(cnt==&&flag==)
printf("1\n");
else
printf("0\n");
}
return ;
}
最新文章
- Rust的力量
- 《理解 ES6》阅读整理:函数(Functions)(五)Name Property
- Nginx之location 匹配规则详解
- HTTP请求 GET POST 网络编程实现(转)
- 日志级别的选择:Debug、Info、Warn、Error还是Fatal
- windows 7 + vs2010 sp1编译 x64位版qt4
- zepto源码--整体框架--学习笔记
- C++ STL之排序算法
- 在Linux服务器上使用Vbox安装虚拟机
- Linux:FHS标准
- Android系统更新防互刷功能实现与分析【转】
- c# 之继承、封装、多态
- 笔记react router 4(二)
- spring获取配制文件的参数
- linux cfs调度器
- [正经分析] DAG上dp两种做法的区别——拓扑序与SPFA
- 535. Encode and Decode TinyURL
- 事件处理程序DOM0,DOM2,IE的区别总结
- Redis构建全局并发锁
- Excel不同工作簿之间提取信息