全部RE求调
查看原帖
全部RE求调
551630
Lemon_zqp楼主2024/5/12 19:50
#include<bits/stdc++.h>
const int mod = 1e9 + 7;
using namespace std;

int n, ch[100005][4], cnt[100005], dep[100005], wid[100005], fa[100005];

void dfs(int u, int pa){
	dep[u] = dep[pa] + 1;
	++wid[dep[u]];
	fa[u] = pa;
	for(int i = 1; i <= cnt[u]; ++i){
		if(ch[u][i] != pa){
			dfs(ch[u][i], u);
		}
	}
}

int main()
{
	cin >> n;
	for(int i = 1; i <= n; i++){
		int x, y;
		cin >> x >> y;
		ch[x][++cnt[x]] = y;
		ch[y][++cnt[y]] = x;
	}
	dfs(1, 0);
	cout << *max_element(dep + 1, dep + n + 1) << endl;
	cout << *max_element(wid + 1, wid + n + 1) << endl;
	int u, v;
	cin >> u >> v;
	int ans = 0;
	while(u != v){
		if(dep[u] >= dep[v]){
			u = fa[u];
			++ans;
		}
		else{
			v = fa[v];
			++ans;
		}
	}
	cout << ans;
	return 0;
}
2024/5/12 19:50
加载中...