10078 2024. 03. 26 16:27:55 111 Multiplikátoros telebabrátor cpp17 Időlimit túllépés 20/100 598ms 63428 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
#ifndef ONLINE_JUDGE
	freopen("be2.txt","r",stdin);
#endif
	int N;
	cin>>N;
	vector<vector<pair<int,int>>>g(N+1);
	for(int i=0;i<N-1;i++){
		int a,b,c;
		cin>>a>>b>>c;
		g[a].emplace_back(b,c);
		g[b].emplace_back(a,c);
	}
	vector<int>v(N+1);
	auto dfs=[&](auto self,int i,int j)->void{
		for(auto [k,c]:g[j]){
			if(k==i)continue;
			v[k]=v[j]^c;
			self(self,j,k);
		}
	};
	dfs(dfs,0,1);
	vector<int>ans(N+1);
	ans[1]=max_element(v.begin()+1,v.end())-v.begin();
	auto dfs2=[&](auto self,int i,int j)->void{
		for(auto [k,c]:g[j]){
			if(k==i)continue;
			for(int&x:v)x^=c;
			ans[k]=max_element(v.begin()+1,v.end())-v.begin();
			self(self,j,k);
			for(int&x:v)x^=c;
		}
	};
	dfs2(dfs2,0,1);
	for(int i=1;i<=N;i++){
		cout<<ans[i]<<' ';
	}
	cout<<'\n';
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1828 KiB
2 Elfogadva 23ms 2500 KiB
subtask2 20/20
3 Elfogadva 23ms 2748 KiB
4 Elfogadva 23ms 3128 KiB
5 Elfogadva 23ms 3152 KiB
6 Elfogadva 23ms 3188 KiB
7 Elfogadva 23ms 3340 KiB
8 Elfogadva 23ms 3388 KiB
9 Elfogadva 23ms 3432 KiB
10 Elfogadva 23ms 3600 KiB
11 Elfogadva 23ms 4012 KiB
12 Elfogadva 23ms 3944 KiB
13 Elfogadva 23ms 4128 KiB
14 Elfogadva 21ms 4268 KiB
15 Elfogadva 23ms 4484 KiB
16 Elfogadva 23ms 4480 KiB
subtask3 0/80
17 Időlimit túllépés 559ms 14624 KiB
18 Időlimit túllépés 583ms 16784 KiB
19 Időlimit túllépés 552ms 18792 KiB
20 Időlimit túllépés 598ms 20960 KiB
21 Időlimit túllépés 575ms 23388 KiB
22 Időlimit túllépés 558ms 25508 KiB
23 Időlimit túllépés 574ms 27552 KiB
24 Időlimit túllépés 572ms 29824 KiB
25 Időlimit túllépés 564ms 32040 KiB
26 Időlimit túllépés 555ms 34044 KiB
27 Időlimit túllépés 552ms 36184 KiB
28 Időlimit túllépés 560ms 38296 KiB
29 Időlimit túllépés 563ms 40448 KiB
30 Időlimit túllépés 560ms 42776 KiB
31 Időlimit túllépés 552ms 44900 KiB
32 Időlimit túllépés 564ms 47548 KiB
33 Időlimit túllépés 573ms 50508 KiB
34 Időlimit túllépés 549ms 55036 KiB
35 Időlimit túllépés 583ms 53644 KiB
36 Időlimit túllépés 569ms 55524 KiB
37 Időlimit túllépés 560ms 57336 KiB
38 Időlimit túllépés 560ms 59120 KiB
39 Időlimit túllépés 532ms 61192 KiB
40 Időlimit túllépés 556ms 63428 KiB