样例过了,0pts求助
查看原帖
样例过了,0pts求助
753241
ge_yiyang_001_DT楼主2024/3/21 21:36
#include<bits/stdc++.h>
using namespace std;
const int maxn=5e4+7;
vector<int>a[maxn];
int f[maxn];
int jc(int n){
	int ans=0;
	for(int i=1;i<=n;i++)ans+=i;
	return ans;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<n;i++){
		int u,v;
		cin>>u>>v;
		a[u].push_back(v);
		a[v].push_back(u);
	}
	int s=-1;
	for(int i=1;i<=n;i++)
	if(a[i].size()==1){
		s=i;
		break;
	}
	f[s]=1;
	int k;
	if(n%2)k=n/2;
	else k=n/2-1;
	for(int i=1;i<=k;i++)for(int j=0;j<a[s].size();j++)if(!f[a[s][j]]){
		s=a[s][j];
		f[s]=1;
		//cout<<s<<' ';
		break;
	}
	//cout<<endl;
	if(n%2==0)for(int j=0;j<a[s].size();j++)if(!f[a[s][j]]){
		s=min(s,a[s][j]);
		break;
	}
	cout<<s<<' ';
	if(n%2)cout<<jc(n/2)*2<<endl;
	else cout<<jc(n/2-1)+jc(n/2)<<endl;
	return 0;
}
2024/3/21 21:36
加载中...