题意:

给N个点构成的无环无向图,并且保证所有点对都是连通的。

给每个点染色,要么染成黑要么染成白。问是否存在染色方案使得所有有边相连的点对颜色一定不一样。

是输出 BICOLORABLE 否则输出 NOT BICOLORABLE

思路:

从某点开始,直接进行染色,如果矛盾,返回false。

代码:

int n,l;
vector<int> graph[205];
int color[205]; bool dfs(int u,int fa){
if(color[fa]==0)
color[u]=1;
else
color[u]=0;
int L=graph[u].size();
rep(i,0,L-1){
int v=graph[u][i];
if(v!=fa){
if(color[v]==-1)
dfs(v,u);
else
if(color[v]+color[u]!=1) return false;
}
}
return true;
} int main(){
int start;
while(scanf("%d",&n)!=EOF,n){
scanf("%d",&l);
rep(i,0,n-1) graph[i].clear();
mem(color,-1); color[n]=0;
while(l--){
int u,v;
scanf("%d%d",&u,&v); start=u;
graph[u].push_back(v);
graph[v].push_back(u);
}
bool yes=dfs(start,n);
if(yes)
puts("BICOLORABLE.");
else
puts("NOT BICOLORABLE.");
}
}

UVA 10004 Bicoloring(DFS染色)的更多相关文章

  1. 紫书 习题8-9 UVa 1613 (dfs染色+图的性质)

    这道题一开始我没想什么直接开始染, 但是是for循环一个节点一个节点染, 然后就WA 后了看了https://www.cnblogs.com/jerryRey/p/4702323.html 发现原来还 ...

  2. uva 10004 Bicoloring(dfs二分染色,和hdu 4751代码差不多)

    Description In the ``Four Color Map Theorem" was proven with the assistance of a computer. This ...

  3. UVA - 10004 Bicoloring(判断二分图——交叉染色法 / 带权并查集)

    d.给定一个图,判断是不是二分图. s.可以交叉染色,就是二分图:否则,不是. 另外,此题中的图是强连通图,即任意两点可达,从而dfs方法从一个点出发就能遍历整个图了. 如果不能保证从一个点出发可以遍 ...

  4. UVA 10004 Bicoloring

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=12&pa ...

  5. hdu 4751(dfs染色)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4751 思路:构建新图,对于那些两点连双向边的,忽略,然后其余的都连双向边,于是在新图中,连边的点是能不 ...

  6. hdu 5313 Bipartite Graph(dfs染色 或者 并查集)

    Problem Description Soda has a bipartite graph with n vertices and m undirected edges. Now he wants ...

  7. hdu 4751 Divide Groups(dfs染色 或 2-sat)

    Problem Description   This year is the 60th anniversary of NJUST, and to make the celebration more c ...

  8. Codeforces Codeforces Round #383 (Div. 2) E (DFS染色)

    题目链接:http://codeforces.com/contest/742/problem/E 题意: 有一个环形的桌子,一共有n对情侣,2n个人,一共有两种菜. 现在让你输出一种方案,满足以下要求 ...

  9. cf804C(dfs染色)

    题目链接: http://codeforces.com/problemset/problem/804/C 题意: 有一颗含有 n 个顶点的树, 第 i 个顶点上有 k 个冰激凌, 每个冰激凌的种类为 ...

随机推荐

  1. PHP网上商城

    页面展示: 代码参考:Php实现简易购物商城系统 - 邵文 - 博客园 (cnblogs.com)

  2. c++ undefined reference

    记录一次c++编程时发现的问题 报错 undefined reference undefined reference to `Student::~Student()' 下面还有类似的好几行,翻译过来就 ...

  3. Docker系列(27)- 容器互联--link

    思考 思考一个场景,我们编写了一个微服务,database url=IP:,项目不重启,数据库ip换掉了,我们希望可以处理这个问题,可以使用名字来进行访问容器吗 实践 [root@localhost ...

  4. 送你一个Python 数据排序的好方法

    摘要:学习 Pandas排序方法是开始或练习使用 Python进行基本数据分析的好方法.最常见的数据分析是使用电子表格.SQL或pandas 完成的.使用 Pandas 的一大优点是它可以处理大量数据 ...

  5. Jmeter线程组设置

    添加线程组:右键测试计划->添加->Threads->线程组 左侧树形标签栏中,显示标签信息. 选中线程组,右侧内容栏中显示线程组的相关信息. 名称:可以给线程组设置一个个性化的命名 ...

  6. php环境 安装

    php 相关 wget https://www.php.net/distributions/php-7.2.16.tar.gz //你可以官网获取最新的包        tar解压    //一般目录 ...

  7. python3中文乱码解决方法

    解决方法: 修改pycharm配置: File->Settings->Editor->File encodings 把Global encoding设置成GBK即可

  8. 完美解决JavaIO流报错 java.io.FileNotFoundException: F:\ (系统找不到指定的路径。)

    完美解决JavaIO流报错 java.io.FileNotFoundException: F:\ (系统找不到指定的路径.) 错误原因 读出文件的路径需要有被拷贝的文件名,否则无法解析地址 源代码(用 ...

  9. Python+selenium自动化生成测试报告

    批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...

  10. Gaussion

    # Kernel density estimation import numpy as np import matplotlib.pyplot as plt from scipy.stats impo ...