我觉得,给了初始点的话用bfs方便点,没有则dfs ||可能超片面

https://vjudge.net/contest/281085?tdsourcetag=s_pcqq_aiomsg#problem/C

 #include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<stdlib.h>
#include<algorithm>
#include<queue>
#include<vector>
#include<string>
#include<set>
#include<cctype>
#include<sstream>
#define mem(a) memset(a,0,sizeof(a))
#define LL long long
#define inf 0x3f3f3f3f
using namespace std;
const int N=1e5+;
int color[N],fa[N];
int n,m,now;
vector<int> link[N];
queue<int> q;
int bfs()
{
memset(color,-,sizeof(color));
color[now]=;
while(!q.empty())
{
int k=q.front();
q.pop();
for(size_t i=;i<link[k].size();i++)
{
int t=link[k][i]; //表示定点k通过i边连接的点
if(color[t]==color[k]) //染色是否相同
return ;
if(color[t]==-)
{
q.push(t);
color[t]=-color[k];//1||0
}
}
}
return ;
}
int main()
{
int a,b,t;
scanf("%d",&t);
for(int i=;i<=t;i++)
{
scanf("%d%d%d",&n,&m,&now); for(int j=;j<n;j++)
link[j].clear(); for(int j=;j<m;j++)
{
scanf("%d %d",&a,&b);
link[a].push_back(b);
link[b].push_back(a);
} while(!q.empty())
q.pop(); q.push(now); if(!bfs()) //不是二分图,输出yes
printf("Case %d: NO\n",i);
else
printf("Case %d: YES\n",i);
}
return ;
}

hdu 3478 Catch--二分图判断的更多相关文章

  1. hdu 3478 Catch 二分图染色

    题目链接 题意 小偷逃跑,从某个点出发,每下一个时刻能够跑到与当前点相邻的点. 问是否存在某一个时刻,小偷可能在图中的任意一个点出现. 思路 结论 如果该图为连通图且不为二分图,则可能,否则不可能. ...

  2. HDU 3478 Catch (连通性&&二分图判断)

    链接 [https://vjudge.net/contest/281085#problem/C] 题意 一个n个点,m条边的图,开始的点是s 每次必须移动到相邻的位置,问你是否存在某个时刻所有点都可能 ...

  3. HDU - 3478 Catch(判奇环/二分图)

    http://acm.hdu.edu.cn/showproblem.php?pid=3478 题意 给一个无向图和小偷的起点,小偷每秒可以向相邻的点出发,问有没有一个时间点小偷可能出现在任何点. 分析 ...

  4. hdoj 3478 Catch(二分图判定+并查集)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3478 思路分析:该问题需要求是否存在某一个时刻,thief可能存在图中没一个点:将该问题转换为图论问题 ...

  5. hdu 3478 Catch(染色 dfs 或 bfs )

    Problem Description A thief is running away! We can consider the city to N–. The tricky thief starts ...

  6. HDU 2717 Catch That Cow --- BFS

    HDU 2717 题目大意:在x坐标上,农夫在n,牛在k.农夫每次可以移动到n-1, n+1, n*2的点.求最少到达k的步数. 思路:从起点开始,分别按x-1,x+1,2*x三个方向进行BFS,最先 ...

  7. hdu 4751 2013南京赛区网络赛 二分图判断 **

    和以前做过的一个二分图颇为相似,以前的是互相不认识的放在一组,这个是互相认识的,本质上是相同的 是 hdu 2444 #include<cstdio> #include<iostre ...

  8. hdu 2444 The Accomodation of Students(最大匹配 + 二分图判断)

    http://acm.hdu.edu.cn/showproblem.php?pid=2444 The Accomodation of Students Time Limit:1000MS     Me ...

  9. HDU 2444 - The Accomodation of Students - [二分图判断][匈牙利算法模板]

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2444 Time Limit: 5000/1000 MS (Java/Others) Mem ...

随机推荐

  1. MySQL_写锁_lock tables tableName write

    pre.环境准备 1.建立两个表S,T,并插入一些数据 --创建表S create table S(d int) engine=innodb; ); --创建表T create table T(c i ...

  2. 快速掌握Nginx(二) —— Nginx的Location和Rewrite

    1 location详解 1.location匹配规则 Nginx中location的作用是根据Url来决定怎么处理用户请求(转发请求给其他服务器处理或者查找本地文件进行处理).location支持正 ...

  3. Mathematica 代码

    s1 = ContourPlot3D[x^2 + z^2 == 1, {x, -1, 1}, {y, 0, 1}, {z, -1, 1}] s2 = ContourPlot3D[ y == 1 + S ...

  4. 题解 P1496 【火烧赤壁】

    蒟蒻的第一篇题解,其实这道题是标准的离散化,模拟可以过,但是就没有训练效果了.我们首先先看数据,n<=20000,数据不多,但是范围大(-10^9<=Ai,Bi<=10^9),这时, ...

  5. docker学习------registry可视化的实现

    1.Harbor的发现 之前一直在使用registry,但docker  pull下来的基础镜像并没用携带UI界面,所以查找了一波开源工具,发现了Harbor这一工具,下面对工具进行一个学习. 2.部 ...

  6. Thinkphp生成的验证码不显示——解决方法

    在调用验证码之前加上 ob_clean(); 不显示验证码的代码: public function verify(){ $verify = new \Think\Verify(); $verify-& ...

  7. 关于selenium的8种元素定位

    selenium中有八种元素定位,分别是:id,name,class_name,tag_name,link_text.partial_link_text.xpath.css 简单的定位可以用 id.n ...

  8. textarea高度自适应(转载)

    原文地址:https://blog.csdn.net/itzhongzi/article/details/73949712

  9. 西瓜视频蓝光1080P下载方法

    西瓜视频的蓝光画质只能在APP上看,如何获取1080P画质的地址呢? 1.先安装 WinPcap 2.然后安装夜神安卓模拟器NOX 3.NOX模拟器里安装西瓜视频的最新APP,旧版本APP只提供超清模 ...

  10. Centos7安装JDK+部署Tomcat8

    Centos7下JDK+Tomcat的部署: 1.安装JDK 1.1 通过以下命令获得java JDK列表 yum -y list java* 1.2 通过yum安装JDK yum -y instal ...