染色法
bool dfs(int x, int color) {
v[x] = color;
for (unsigned int i = 0; i < e[x].size(); i++) {
int y = e[x][i].first;
if (v[y]) {
if (v[y] == color) return 0;
} else {
if (!dfs(y, 3 - color)) return 0;
}
}
return 1;
}
原文:https://www.cnblogs.com/ruanmowen/p/12724225.html