#arc045c. [arc045_c]エックスオア多橋君
[arc045_c]エックスオア多橋君
问题说明
多桥君非常喜欢桥。因此,他喜欢称为树的图,其中所有边都是“桥”(图论术语)。此外,多桥君最近在学校学习了异或运算(XOR)。因此,他正在思考以下问题。
给定一个由 个顶点和 条边组成的连通无向图,即树。每个顶点都被称为顶点1、2、...、N。每条边上都分配了非负整数的成本。
给定一个整数 ,请计算满足以下条件的顶点 和顶点 的数量:它们在连接点上有一条简单路径(在树中只存在一条)且该路径上的边的费用的异或和等于 ()。其中异或和指的是,当有一些整数 时,它们的二进制表示的每位进行异或运算得到的值。例如, XOR XOR 等于 。
你的任务是代表多桥君解决这个问题。
输入
从标准输入读入输入数据,输入格式如下所示:
:
- 第 1 行包含两个整数, 表示图中的顶点数 , 是问题描述中的整数 。
- 接下来的 行给出了图中 条边的信息。其中第 行包含连接第 条边的两个顶点 和 ,以及该边的成本 。
- 给定的图保证是连通的。
输出
输出满足问题描述中要求的答案。
输入示例1
6 7
1 2 5
2 3 3
3 4 6
2 5 2
5 6 7
输出示例1
3
当 ,, 时,路径上的边的费用的异或和为 (二进制表示为 ),所以答案为 。
对于这个输入示例,图如下所示,显示了每条边的十进制和二进制表示:
输入示例2
6 3
1 2 1
2 3 3
3 4 2
4 5 3
4 6 1
输出示例2
4
输入示例3
10 1
9 10 1
6 10 1
5 2 1
8 6 1
4 5 1
7 6 0
3 8 0
3 1 1
8 2 0
输出示例3
25