博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSU - 1356 Catch (判奇环)
阅读量:6289 次
发布时间:2019-06-22

本文共 1028 字,大约阅读时间需要 3 分钟。

题目传送门:

题目大意:

存在一个n个点m条边的无向图,给定一个出发点,每个时间点能够走到相邻的下个点。能够走重复的边,

问是否存在某一个时间点,他可能停留再任意的n个点之间。

分析:

首先图是联通的,不连通则无法到达一部分点,可以发现如果该图是一条链的话,到达的点分两种情况

(奇数时间到达和偶数时间到达)因此无法满足条件。当图是一个偶数环时,同样无法满足要求,可以分析

只有存在奇数环的时候才能满足再某一时刻处于任何位置。所以题目即判断该图中是否存在奇数环即可

代码:

搜索过程中,给每个点一个val值,每次+1,当找到一条边上,两个val值相差+1为奇数则存在奇数环

#include
#include
#include
#include
using namespace std;const int MAX=100000+9;int t,n,m,s,u,v;int vis[MAX];vector
G[MAX];bool dfs(int u,int val){ vis[u]=val; for(int i=0;i
View Code

染色法:就是给每个点进行标号,初始值全为-1,标为0,1 如果存在一条边连接的两个点标号相同,

那么就是存在一个奇数环

#include
#include
#include
#include
using namespace std;const int MAX=100000+9;int t,n,m,s,u,v;int vis[MAX];vector
G[MAX];bool dfs(int u,int val){ vis[u]=val; for(int i=0;i
View Code

 

转载于:https://www.cnblogs.com/LjwCarrot/p/10739683.html

你可能感兴趣的文章
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>