10004 - Bicoloring***

/*
极简单一题,但是没有解出。
题目要求:图是强连通的,无向
要求对图中节点染色,只有两种颜色可以选择
判断是否存在一种情况使相邻的两节点颜色都不同
思路:
深度优先搜索
*/#include 
#include int n,m;
bool graph[210][210];
int color[210];bool dfs(int k,int c)
{for(int i=1;i<=n;i++){if(graph[k][i]==1){if(color[i]==c)return false;else if(color[i]==-1){color[i]=1-c;if(!dfs(i,1-c))return false;}}}return true;
}int main()
{//freopen("data.in","r",stdin);int u,v;while(1){scanf("%d",&n);if(n==0)break;memset(graph,false,sizeof(graph));memset(color,-1,sizeof(color));scanf("%d",&m);if(m==0)break;for(int i=0;i



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部