From 0c5a3fdd893309acc2e69b3efe39375a577568a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Tue, 9 Jan 2024 14:00:54 +0800 Subject: [PATCH] 'commit' --- TangDou/Topic/HuanGenDp/CF1406C.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/TangDou/Topic/HuanGenDp/CF1406C.cpp b/TangDou/Topic/HuanGenDp/CF1406C.cpp index 7774d1b..3cc8af8 100644 --- a/TangDou/Topic/HuanGenDp/CF1406C.cpp +++ b/TangDou/Topic/HuanGenDp/CF1406C.cpp @@ -19,9 +19,7 @@ void dfs(int u, int fa) { sz[u] = 1; // u为根的子树中,最起码有一个节点u son[u] = 0; // 把节点u去掉后,剩下的连通分量中最大子树节点个数现在还不知道,预求最大,先设最小 - // for (int i = 0; i < g[u].size(); i++) { // 枚举u的每一条出边 - for (int i = h[u]; ~i; i = ne[i]) { - // int v = g[u][i]; + for (int i = h[u]; ~i; i = ne[i]) { // 枚举u的每一条出边 int v = e[i]; if (v == fa) continue; dfs(v, u); @@ -67,12 +65,16 @@ signed main() { if (!r2) { int r3 = g[r1][0]; + + // cout << "r3=" << r3 << " " << e[h[r1]] << endl; + cout << r1 << " " << r3 << endl; cout << r1 << " " << r3 << endl; } else { int r3 = r1; - for (int i = 0; i < g[r2].size(); i++) { - r3 = g[r2][i]; + + for (int i = h[r2]; ~i; i = ne[i]) { + r3 = e[i]; if (r3 != r1) break; } cout << r3 << " " << r2 << endl;