数据结构王道P234第二题

复制代码
#include<iostream>
using namespace std;
int visit[MAxsize];
int color[MaxSize];//1表示红,2表示白; 
bool dfs(Graph G, int i){
	visit[i]=1;
	ArcNode *p;
    bool flag=1;
	for(p=G.vertices[i].firsrarc; p ; p=p->next){
		int j=p->adjvex;
		if(!visit[j]){//如果没访问过,j就涂上相反颜色,继续递归涂色 
			if(color[i]==1)color[j]=2;
			else color[j]=1;
			flag=flag&&dfs(G, j); 
		}
		else{//如果访问过,判断j与i相邻点颜色,是否相同,不相同说明涂失败了,直接返回false;如果不同,不用管继续递归涂色 
			if(color[j]==color[i]){
				return false;
			}
		}
	}
	return flag;
} 

int main()
{
	color[1]=1;//将第一个点染红
	bool flag=bfs(G, 1); 
	return 0;
}
相关推荐
Felven15 小时前
B. Make Almost Equal With Mod
数据结构·算法
脆皮炸鸡75515 小时前
Linux~~基础IO
linux·运维·服务器·经验分享·算法·学习方法
踩坑记录15 小时前
leetcode hot100 416. 分割等和子集 medium 动态规划 01背包 DFS深度优先搜索
leetcode·深度优先·动态规划
众少成多积小致巨15 小时前
Android 初始化语言入门
android·linux·c++
colofullove15 小时前
文本分块策略与预处理
算法
yangtuoni15 小时前
vscode调试C++ python相关配置
c++·vscode·python
三毛的二哥15 小时前
BEV:感知抖动问题及解决办法
人工智能·算法·计算机视觉
AI科技星15 小时前
宇宙终极几何:莫比乌斯光速螺旋统一理论-精细结构常数α本源结构
算法·机器学习·数学建模·数据挖掘·量子计算
数智化精益手记局15 小时前
拆解红牌作战的步骤:掌握红牌作战的步骤,解决现场管理难题
大数据·数据结构·人工智能·制造·精益工程
wuyoula15 小时前
尹之盾企业版网络验证
服务器·开发语言·javascript·c++·人工智能·ui·c#