| 27713 | 2026-05-11 17:27:37 | LazurAndras | Multiplikátoros telebabrátor | cpp17 | Elfogadva 100/100 | 204ms | 27820 KiB |
#include <bits/stdc++.h>
using namespace std;
int n;
vector<vector<pair<int, int>>>g;
vector<int>dist;
void dfs(int v)
{
for(auto [u, d] : g[v]) if(dist[u] == -1) {dist[u] = dist[v] ^ d; dfs(u);}
}
int veg[3200001];
int t[3200001][2];
int cnt = 1;
void update(int u)
{
int v = dist[u];
int x = 1;
for(int i = 31; i >= 0; i--)
{
int k = (v >> i) & 1;
if(t[x][k] == 0) t[x][k] = ++cnt;
x = t[x][k];
}
veg[x] = u+1;
}
int query(int v)
{
int x = 1;
for(int i = 31; i >= 0; i--)
{
int k = (v >> i) & 1;
if(t[x][k ^ 1]) x = t[x][k ^ 1];
else x = t[x][k];
}
return veg[x];
}
signed main() {
ios::sync_with_stdio(false);cin.tie(nullptr);
cin >> n;
g.resize(n); dist.resize(n, -1);
for(int i = 1; i < n; i++)
{
int a, b, c; cin >> a >> b >> c; --a; --b;
g[a].push_back({b, c});
g[b].push_back({a, c});
}
dist[0] = 0;
dfs(0);
for(int i = 0; i < n; i++) update(i);
for(int u : dist)
{
cout << query(u) << " ";
}
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 508 KiB | ||||
| 2 | Elfogadva | 3ms | 1012 KiB | ||||
| subtask2 | 20/20 | ||||||
| 3 | Elfogadva | 3ms | 1012 KiB | ||||
| 4 | Elfogadva | 3ms | 820 KiB | ||||
| 5 | Elfogadva | 3ms | 820 KiB | ||||
| 6 | Elfogadva | 3ms | 820 KiB | ||||
| 7 | Elfogadva | 3ms | 824 KiB | ||||
| 8 | Elfogadva | 3ms | 820 KiB | ||||
| 9 | Elfogadva | 3ms | 820 KiB | ||||
| 10 | Elfogadva | 3ms | 820 KiB | ||||
| 11 | Elfogadva | 4ms | 820 KiB | ||||
| 12 | Elfogadva | 4ms | 1004 KiB | ||||
| 13 | Elfogadva | 4ms | 1076 KiB | ||||
| 14 | Elfogadva | 4ms | 1268 KiB | ||||
| 15 | Elfogadva | 3ms | 1076 KiB | ||||
| 16 | Elfogadva | 3ms | 820 KiB | ||||
| subtask3 | 80/80 | ||||||
| 17 | Elfogadva | 160ms | 24384 KiB | ||||
| 18 | Elfogadva | 187ms | 24356 KiB | ||||
| 19 | Elfogadva | 159ms | 24376 KiB | ||||
| 20 | Elfogadva | 188ms | 24372 KiB | ||||
| 21 | Elfogadva | 193ms | 24476 KiB | ||||
| 22 | Elfogadva | 162ms | 24372 KiB | ||||
| 23 | Elfogadva | 163ms | 24372 KiB | ||||
| 24 | Elfogadva | 188ms | 24372 KiB | ||||
| 25 | Elfogadva | 163ms | 24368 KiB | ||||
| 26 | Elfogadva | 195ms | 24536 KiB | ||||
| 27 | Elfogadva | 163ms | 24464 KiB | ||||
| 28 | Elfogadva | 190ms | 24628 KiB | ||||
| 29 | Elfogadva | 193ms | 24372 KiB | ||||
| 30 | Elfogadva | 192ms | 24372 KiB | ||||
| 31 | Elfogadva | 164ms | 24372 KiB | ||||
| 32 | Elfogadva | 165ms | 25064 KiB | ||||
| 33 | Elfogadva | 167ms | 25812 KiB | ||||
| 34 | Elfogadva | 204ms | 27820 KiB | ||||
| 35 | Elfogadva | 184ms | 25056 KiB | ||||
| 36 | Elfogadva | 151ms | 24956 KiB | ||||
| 37 | Elfogadva | 155ms | 24628 KiB | ||||
| 38 | Elfogadva | 152ms | 24704 KiB | ||||
| 39 | Elfogadva | 174ms | 24736 KiB | ||||
| 40 | Elfogadva | 173ms | 24492 KiB | ||||