数据结构王道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;
}
相关推荐
TracyCoder1237 分钟前
LeetCode Hot100(60/100)——55. 跳跃游戏
算法·leetcode
宵时待雨8 分钟前
C++笔记归纳2:类和对象
c++·笔记
十五年专注C++开发17 分钟前
Qt deleteLater作用及源码分析
开发语言·c++·qt·qobject
月挽清风17 分钟前
代码随想录第35天:动态规划
算法·动态规划
岛雨QA25 分钟前
链表「Java数据结构与算法学习笔记3」
数据结构·算法
阿闽ooo27 分钟前
中介者模式打造多人聊天室系统
c++·设计模式·中介者模式
Sunsets_Red32 分钟前
P8277 [USACO22OPEN] Up Down Subsequence P 题解
c语言·c++·算法·c#·学习方法·洛谷·信息学竞赛
菜鸟小九34 分钟前
redis原理篇(基本数据结构)
数据结构·数据库·redis
汉克老师41 分钟前
GESP2023年12月认证C++二级( 第三部分编程题(2) 小杨的H字矩阵)
c++·算法·矩阵·循环结构·gesp二级·gesp2级
_Li.43 分钟前
Simulink-螺旋桨动力模块
人工智能·算法·机器学习