首页 > 其他 > 详细

【DFS】bzoj2079 [Poi2010]Guilds

时间:2015-01-25 07:37:17      阅读:262      评论:0      收藏:0      [点我收藏+]

对一棵树黑白染色一定符合题意。

图一定有生成树。

因此,仅有一个孤立节点的联通块不合题意。

DFS。

#include<cstdio>
using namespace std;
int n,m,en,x,y,v[1000001],first[500001],next[1000001],cnt;
bool vis[500001];
void AddEdge(const int &U,const int &V)
{
	v[++en]=V;
	next[en]=first[U];
	first[U]=en;
}
void dfs(int U)
{
	vis[U]=1; ++cnt;
	for(int i=first[U];i;i=next[i])
	  if(!vis[v[i]])
	    dfs(v[i]);
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;++i)
	  {
	  	scanf("%d%d",&x,&y);
	  	AddEdge(x,y);
	  	AddEdge(y,x);
	  }
	for(int i=1;i<=n;++i)
	  if(!vis[i])
		{
	  	  cnt=0;
	  	  dfs(i);
	  	  if(cnt==1)
	  	    {
	  	      puts("NIE");
	  	      return 0;
	  	    }
	    }
	puts("TAK");
	return 0;
}

【DFS】bzoj2079 [Poi2010]Guilds

原文:http://www.cnblogs.com/autsky-jadek/p/4247721.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!