您的位置:首页 > 其它

DFS黑白染色

2017-03-16 09:51 155 查看
bool dfs(int u,int col)
{
vis[u]=true;
a[u]=col;
t[col]++;
for (int i=0;i<g[u].size();i++)
{
int v=g[u][i];
if (vis[v]&&a[v]==a[u])
return false;
else
if (!vis[v] && !dfs(v,1-col)) return false;
}
return true;
}

int main()
{
for (i=1;i<=n;i++)
if (!vis[i])
{
t[0]=t[1]=0;
if (!dfs(i,0))
{
printf("Impossible\n");
return 0;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dfs 黑白染色