数据结构王道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;
}
相关推荐
快乐的划水a5 分钟前
中介者模式及优化
c++·设计模式·中介者模式
多吃蔬菜!!!12 分钟前
VsCode 上的Opencv(C++)环境配置(Linux)
开发语言·c++
咔咔咔的31 分钟前
1277. 统计全为 1 的正方形子矩阵
c++
XMZH0304232 分钟前
数据结构:链式队列尝试;0826
数据结构·链表·队列·链式队列
振鹏Dong36 分钟前
Redis核心机制解析:数据结构、线程模型与内存管理策略
数据结构·数据库·redis
愚润求学1 小时前
【Linux】Socket编程——TCP版
linux·运维·服务器·c++·网络协议·tcp/ip
大白同学4213 小时前
【C++】用哈希表封装unordered_XX
开发语言·c++·散列表
GIS小天6 小时前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年8月25日第170弹
人工智能·算法·机器学习·彩票
PAK向日葵7 小时前
【算法导论】XM 0823 笔试题解
算法·面试
岁月栖迟7 小时前
leetcode 49. 字母异位词分组
windows·算法·leetcode