染色法 bool dfs(int u, int c) { color[u] = c; for (int i = h[u]; i != -1; i = ne[i]) { int j = e[i]; if (color[j]) { if (color[j] == c) return false; } else if (!dfs(j, 3 - c, mid)) return false; } return true; }