博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva-10004-俩色图验证
阅读量:6330 次
发布时间:2019-06-22

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

题意:

在1976年,四色猜想被一个计算机助手提出,这个理论表示对任意一个地图的上色都只需要四种

颜色,地图内每一个区块和相邻的区块颜色都不相同.
你现在被要求解决一个相似但相对简单的问题.给你任意一个连通的图你必须计算出这个图
是否能够被俩种颜色涂上颜色.意思就是如果一个结点被涂上颜色
(从一个只有俩种颜色的调色板中选取一个颜色),那么相邻的俩个结点都不能有相同的颜色.
为了使问题更加简单,我们保证一下条件.
1:结点不存在自己到自己的边(不存在结点1有条边到结点1)
2:是一个无向图,如果结点a有条边到结点b,可以假设结点b也有条路到结点a
3:是一个强联通图,意思就任意一个结点都有一条路到其他结点.

输入

输入由几组测试用例组成,每一组测试开始的第一行包含一个数字n(1<n<200),表示包含有n个结点.

第二行包含边的数目L,随后L行,每一行包含俩个数字,表示这俩个结点之间有一条边相连接,
图的一个结点使用a标识(0<=a<n),n=0表示输入结束,不用处理.

输出

看输出用例

 AC时间:0ms

#include
#include
#include
#include
using namespace std;const int MAX = 200;void dfs(int r, int *ok, int n, int map[MAX][MAX], int cc, int vis[]){ if(vis[r] == -1) { vis[r] = cc; for(int i = 0; i < n; i++) { if(map[r][i] !=-1) { map[r][i] = -1; dfs(i,ok,n,map,(cc+1)%2,vis); } } } else if(vis[r] !=cc) { *ok = 0; }}int main(){ freopen("d:\\1.txt", "r", stdin); int n; string yes = "BICOLORABLE."; string no = "NOT BICOLORABLE."; while (cin >> n) { if(n == 0) { return 0; } int l; cin >> l; int map[MAX][MAX]; int vis[MAX]; memset(vis, -1, sizeof(vis)); memset(map, -1, sizeof(map)); int s, t; for(int i = 0; i < l; i++) { cin >> s >> t; map[s][t] = 1; map[t][s] = 1; } int ok = 1; //深搜 dfs(s, &ok, n, map, 0, vis); if(ok) cout << yes << endl; else cout << no << endl; } return 0;}

 

posted on
2017-06-01 22:43 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/6931176.html

你可能感兴趣的文章
对事件处理的错误使用
查看>>
最大熵模型(二)朗格朗日函数
查看>>
深入了解setInterval方法
查看>>
html img Src base64 图片显示
查看>>
[Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction...
查看>>
FFMPEG中关于ts流的时长估计的实现(转)
查看>>
Java第三次作业
查看>>
【HDOJ 3652】B-number
查看>>
android代码混淆笔记
查看>>
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) C. String Reconstruction 并查集
查看>>
BMP文件的读取与显示
查看>>
Flash文字效果
查看>>
各种排序算法总结篇(高速/堆/希尔/归并)
查看>>
使用c#訪问Access数据库时,提示找不到可安装的 ISAM
查看>>
Highcharts X轴纵向显示
查看>>
windows 注册表讲解
查看>>
【算法】论平衡二叉树(AVL)的正确种植方法
查看>>
基于DDD的现代ASP.NET开发框架--ABP系列之1、ABP总体介绍
查看>>
【原】东拼西凑PBR(1):PBR基础
查看>>
react 从零开始搭建开发环境
查看>>