破防了求调啊啊啊
查看原帖
破防了求调啊啊啊
643818
I_AK_CTS楼主2025/1/21 21:56

连黄题都调不出来了((求调啊啊啊

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5;
vector<int> G[N];
int T,dep[N],n;
set<int> s[2];
void dfs(int x,int fa){
	dep[x]=dep[fa]+1;
	s[dep[x]&1].insert(x);
	for(int v:G[x]){
		if(v==fa) continue;
		dfs(v,x);
	}
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>T;
	while(T--){
		cin>>n;
		for(int i=1;i<=n;i++) G[i].clear();
		for(int i=1;i<n;i++){
			int u,v;cin>>u>>v;
			G[u].push_back(v);
			G[v].push_back(u);
		}
		dfs(1,0);int a=s[1].size(),b=s[0].size();
		if(abs(a-b)!=1) {cout<<"-1\n";continue;}
		int pos=(a>=b);
		for(int i=1;i<=n;i++,pos^=1){
			cout<<*s[pos].begin()<<" ";
			s[pos].erase(s[pos].begin());
		}
		cout<<"\n";
	}
	return 0;
}
2025/1/21 21:56
加载中...