码迷,mamicode.com
首页 > 其他好文 > 详细

【DFS】bzoj2079 [Poi2010]Guilds

时间:2015-01-25 07:39:30      阅读:246      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!