XOR Tree

题意翻译

### 题目描述 给一棵有 $N$ 个节点的树,节点编号从 $0$ 到 $N-1$, 树边编号从 $1$ 到 $N-1$。第 $i$ 条边连接节点 $x_i$ 和 $y_i$,其权值为 $a_i$。 你可以对树执行任意次操作,每次操作选取一条链和一个非负整数 $x$,将链上的边的权值与 $x$ 异或成为该边的新权值。 问最少需要多少次操作,使得所有边的权值都为 $0$。 ### 输入格式 第一行有 $1$ 个整数,代表树的节点数 $N$。 接下来 $N-1$ 行,每行有 $3$ 个整数,第 $i+1$ 行上的整数分别代表第 $i$ 条边的参数 $x_i,y_i,a_i$。 ### 输出格式 仅一行 $1$ 个整数,即最小操作数。 ### 数据范围与说明 - $2\leq N \leq 10^5$ - $0\leq x_i,y_i \leq N-1$ - $0\leq a_i \leq 15$ - 保证给定的图是一棵树 - 保证输入数据都是整数

题目描述

[problemUrl]: https://atcoder.jp/contests/apc001/tasks/apc001_f $ N $ 頂点の木が与えられます。頂点には $ 0 $ から $ N-1 $ の番号がついています。 辺は $ 1 $ から $ N-1 $ までの番号がついていて、辺 $ i $ は頂点 $ x_i $ と $ y_i $ をつなぎ、また $ a_i $ という値を保持しています。 あなたは以下の操作を何回でもすることが出来ます: - ある単純pathとある非負整数 $ x $ を選び、そのpathを構成する各辺 $ e $ について、 $ a_e\ ←\ a_e\ ⊕\ x $ (⊕ は xor)と変化させる。 目標はすべての辺 $ e $ について $ a_e\ =\ 0 $ とすることです。 目標を達成するために必要な最小の操作回数を求めてください。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ x_1 $ $ y_1 $ $ a_1 $ $ x_2 $ $ y_2 $ $ a_2 $ $ : $ $ x_{N-1} $ $ y_{N-1} $ $ a_{N-1} $

输出格式


目標を達成するために必要な操作回数の最小値を出力せよ。

输入输出样例

输入样例 #1

5
0 1 1
0 2 3
0 3 6
3 4 4

输出样例 #1

3

输入样例 #2

2
1 0 0

输出样例 #2

0

说明

### 制約 - $ 2\ <\ =\ N\ <\ =\ 10^5 $ - $ 0\ <\ =\ x_i,y_i\ <\ =\ N-1 $ - $ 0\ <\ =\ a_i\ <\ =\ 15 $ - 与えられるグラフは木 - 入力は全て整数 ### Sample Explanation 1 以下のようにして三回で目標を達成できます。 - まず、頂点 $ 1,2 $ を結ぶ path に対して $ x=1 $ で操作する - 次に、頂点 $ 2,3 $ を結ぶ path に対して $ x=2 $ で操作する - 最後に、頂点 $ 0,4 $ を結ぶ path に対して $ x=4 $ で操作する