#apc001f. [apc001_f]XOR Tree

[apc001_f]XOR Tree

题目描述

给定一棵包含 NN 个顶点的树。这些顶点从 00N1N-1 进行编号,边从 11N1N-1 进行编号。边 ii 连接了顶点 xix_iyiy_i,并且有一个值 aia_i。你可以执行以下操作任意次数:

  • 选择一条简单路径和一个非负整数 xx,然后对路径上的每条边执行 aeaexa_e ← a_e ⊕ x(⊕ 表示异或)。

你的目标是使得所有边的 ae=0a_e = 0。找到实现此目标所需的最小操作次数。

约束条件

  • 2N1052 ≤ N ≤ 10^5
  • 0xi,yiN10 ≤ x_i, y_i ≤ N-1
  • 0ai150 ≤ a_i ≤ 15
  • 给定的图是一棵树。
  • 所有输入值都是整数。

输入

输入以以下格式从标准输入给出:

NN x1x_1 y1y_1 a1a_1 x2x_2 y2y_2 a2a_2 :: xN1x_{N-1} yN1y_{N-1} aN1a_{N-1}

输出

找到实现目标所需的最小操作次数。

示例输入 1

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

示例输出 1

3

可以通过以下三次操作实现目标:

  • 首先,选择连接顶点 11 和顶点 22 的路径,并选择 x=1x = 1
  • 然后,选择连接顶点 22 和顶点 33 的路径,并选择 x=2x = 2
  • 最后,选择连接顶点 00 和顶点 44 的路径,并选择 x=4x = 4

示例输入 2

2
1 0 0

示例输出 2

0