main
黄海 2 years ago
parent 0c5a3fdd89
commit 1b18a7af56

@ -10,9 +10,8 @@ void add(int a, int b, int c = 0) {
e[idx] = b, ne[idx] = h[a], w[idx] = c, h[a] = idx++; e[idx] = b, ne[idx] = h[a], w[idx] = c, h[a] = idx++;
} }
vector<int> g[N]; // 邻接表,存图 int sz[N]; // sz[i]:以i为根的子树中节点个数
int sz[N]; // sz[i]:以i为根的子树中节点个数 int son[N]; // son[i]:去掉节点i后剩下的连通分量中最大子树节点个数
int son[N]; // son[i]:去掉节点i后剩下的连通分量中最大子树节点个数
int r1, r2, n; int r1, r2, n;
void dfs(int u, int fa) { void dfs(int u, int fa) {
@ -56,18 +55,13 @@ signed main() {
for (int i = 1; i < n; i++) { // n-1条边 for (int i = 1; i < n; i++) { // n-1条边
int x, y; int x, y;
cin >> x >> y; cin >> x >> y;
g[x].push_back(y);
g[y].push_back(x);
add(x, y), add(y, x); add(x, y), add(y, x);
} }
dfs(1, 0); // 以1号点为入口它的父节点是0 dfs(1, 0); // 以1号点为入口它的父节点是0
if (!r2) { if (!r2) {
int r3 = g[r1][0]; int r3 = e[h[r1]];
// cout << "r3=" << r3 << " " << e[h[r1]] << endl;
cout << r1 << " " << r3 << endl; cout << r1 << " " << r3 << endl;
cout << r1 << " " << r3 << endl; cout << r1 << " " << r3 << endl;
} else { } else {

Loading…
Cancel
Save