判断二分图
bool dfs(int cur, int fa, int color)
{
col[cur] = color;
for (int i = head[cur]; i; i = edge[i].next)
{
int to = edge[i].to;
if (to == fa) continue;
if (col[to] == color)
{
return false;
}
if (col[to] == 0 && !dfs(to, cur, 3-color))
{
return false;
}
}
return true;
}
$\mathscr{msjing}$

浙公网安备 33010602011771号