100782024-03-26 16:27:55111Multiplikátoros telebabrátorcpp17Időlimit túllépés 20/100598ms63428 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1828 KiB
2Elfogadva23ms2500 KiB
subtask220/20
3Elfogadva23ms2748 KiB
4Elfogadva23ms3128 KiB
5Elfogadva23ms3152 KiB
6Elfogadva23ms3188 KiB
7Elfogadva23ms3340 KiB
8Elfogadva23ms3388 KiB
9Elfogadva23ms3432 KiB
10Elfogadva23ms3600 KiB
11Elfogadva23ms4012 KiB
12Elfogadva23ms3944 KiB
13Elfogadva23ms4128 KiB
14Elfogadva21ms4268 KiB
15Elfogadva23ms4484 KiB
16Elfogadva23ms4480 KiB
subtask30/80
17Időlimit túllépés559ms14624 KiB
18Időlimit túllépés583ms16784 KiB
19Időlimit túllépés552ms18792 KiB
20Időlimit túllépés598ms20960 KiB
21Időlimit túllépés575ms23388 KiB
22Időlimit túllépés558ms25508 KiB
23Időlimit túllépés574ms27552 KiB
24Időlimit túllépés572ms29824 KiB
25Időlimit túllépés564ms32040 KiB
26Időlimit túllépés555ms34044 KiB
27Időlimit túllépés552ms36184 KiB
28Időlimit túllépés560ms38296 KiB
29Időlimit túllépés563ms40448 KiB
30Időlimit túllépés560ms42776 KiB
31Időlimit túllépés552ms44900 KiB
32Időlimit túllépés564ms47548 KiB
33Időlimit túllépés573ms50508 KiB
34Időlimit túllépés549ms55036 KiB
35Időlimit túllépés583ms53644 KiB
36Időlimit túllépés569ms55524 KiB
37Időlimit túllépés560ms57336 KiB
38Időlimit túllépés560ms59120 KiB
39Időlimit túllépés532ms61192 KiB
40Időlimit túllépés556ms63428 KiB