dfs染色法判定二分图
2024-08-25 02:55:39
#include<iostream>
#include<cstring>
using namespace std;
int mapp[][],color[],n;
int dfs(int x,int c)
{
color[x]=c;
for(int i=;i<=n;i++)
{
if(mapp[x][i]==)
{
if(color[i]==c)
return ;
if(color[i]==&&!dfs(i,-c))
return ;
}
}
return ;
}
int main()
{
int T,m,x,flag,y,g;
cin>>T;
while(T--)
{
cin>>n>>m;
memset(mapp,,sizeof(mapp));
memset(color,,sizeof(color));
for(int i=;i<=m;i++)
{
cin>>x>>y;
mapp[x][y]=;
mapp[y][x]=;
}
flag=;
for(int i=;i<=n;i++)
{
if(color[i]==&&!dfs(i,))
{
flag=;
break;
}
}
if(flag==)
{
cout<<"No"<<endl;
}
else
{
cout<<"Yes"<<endl;
}
}
}
最新文章
- QString 和std::string互转
- SQL Server 2005中的CTE递归查询得到一棵树
- oracle远程连接配置
- halcon车牌的识别
- js阻止冒泡及jquery阻止事件冒泡示例介绍
- C++ C++ 控制台程序 设置图标
- iOS网络编程总结
- apache虚拟主机安装注意事项
- C# 调用AForge类库操作摄像头
- C语言循环的嵌套
- 搜索Collections元素,用DateFormatSymbols 获得月份
- ado.net实现一个通知公告功能
- 在Visual C++中的用ADO进行数据库编程
- 【G】开源的分布式部署解决方案 - 预告篇
- Java为什么把String设计成不可变的(immutable)
- Codeforces Round #410 (Div. 2)
- SpringBoot单元测试
- Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述
- c++ 常成员函数 和 常对象
- [Android] 配置build.gradle 动态传参