图论 染色问题
来源:互联网 发布:centos共享文件夹在哪 编辑:程序博客网 时间:2024/05/01 00:51
//判断图中两种颜色是否可以对每个结点进行着色,每两个点颜色不同#include <iostream>#include<cstdio>#include<cstring>#define MAX 100using namespace std;int v,e;int g[MAX][MAX];int color[MAX];void createGraph(){ int start,end; memset(g,0,sizeof(g)); memset(color,0,sizeof(color)); scanf("%d%d",&v,&e); while(e--) { scanf("%d%d",&start,&end); g[start][end]=1; g[end][start]=1; }}//用1或者-1来填满节点bool dfs(int n,int c){ color[n]=c; for(int i=1;i<=v;i++) { //在n到i有边的情况下:if(g[n][i]!=0){//如果n到i点有边,并且邻接点染相同颜色就返回false if(color[i]==c)return false;//如果n到i点有边,但是还未染色,就对i点染色-cif(color[i]==0 && !dfs(i,-c)){return false;}} } return true;}void solve(){ for(int i=1;i<=v;i++) { //遍历每个点,如果还有点没有染色,就对它进行染色 if(color[i]==0) { if(!dfs(i,1)) { printf("NO!\n"); return; } } } printf("YES!\n");}int main(){ createGraph(); solve(); printf("\n");printf("每一点的染色情况:\n"); for(int i=1;i<=v;i++) { printf("%d\t",color[i]); } return 0;}
- 图论 染色问题
- 染色问题
- 染色问题
- 染色问题(Dye)
- POJ2409 染色问题
- 图像染色问题
- 数据结构:区域染色问题
- 染色问题的算法
- 染色问题 简单数学
- 地图染色问题
- Polya原理--染色问题
- UVA193图染色问题
- 1448 二染色问题
- [BZOJ4487] [JSOI2015]染色问题
- [bzoj4487][JSOI2015]染色问题
- [51nod1655]染色问题
- 二分图染色问题
- 【JSOI2015】bzoj4487 染色问题
- FileUtil文件操作工具类
- gcc编译安装
- eclipse 小结
- Training5:指针和链表训练
- 基础理论书籍列表
- 图论 染色问题
- J2EE中的几种常用设计模式
- RMI远程调用过程
- POJ 1556 The Doors (计算几何+dij最短路)
- 线性代数课程笔记概述及说明
- 线段树 模版
- 字典树 模版
- 图论 欧拉路代码模版
- windows phone 7注册学生开发帐号