C - エックスオア多橋君 Editorial

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

多橋君は橋が大好きです。したがって、全ての辺が橋(グラフ理論用語)となる木と呼ばれるグラフが大好きです。また、多橋君は最近学校でXORについて学びました。そこで、次のような問題について考えています。

NN 頂点と N1N-1 本の辺からなる連結な無向グラフ、つまり木が与えられます。各頂点は、それぞれ頂点 11、頂点 22、…、頂点 NN と呼ばれます。各辺にはそれぞれ非負整数のコストが割り振られています。

整数 XX が与えられるので、頂点 aa と頂点 bb を結ぶ単純パス(同じ辺を二度通らないパス、木においては必ず 11 つだけ存在する)上の辺のコストのxor\rm{xor}和が XX になるような組 (a,b)(a,b) (1abN1≦a<b≦N)の総数を求めてください。 ただしxor\rm{xor}和とは、いくつかの整数 A1,A2,A_1,A_2,… があったとき、それらの2進表現のビット毎の排他的論理和 A1A_1 xor\rm{xor} A2A_2 xor\rm{xor}… により得られる値のことを表します。 例えば、11 xor\rm{xor} 22 xor\rm{xor} 5566 です。

あなたの仕事は、多橋君の代わりにこの問題を解くことです。


入力

入力は以下の形式で標準入力から与えられる。

NN XX
x1x_1 y1y_1 c1c_1
x2x_2 y2y_2 c2c_2
:
xN1x_{N-1} yN1y_{N-1} cN1c_{N-1}
  • 11 行目には、グラフの頂点数を表す整数 N(1N100,000)N (1 ≦ N ≦ 100,000) と問題文中の整数 X(0X109)X (0≦X≦10^9) が与えられる。
  • 続く N1N-1 行には、グラフの N1N-1 本の辺の情報が与えられる。このうち i(1iN1)i(1≦i≦N-1) 行目には、ii 番目の辺が結ぶ 22 つの頂点 xi,yi(1xi,yiN)x_i,y_i(1≦x_i,y_i≦N) とコスト ci(0ci109)c_i (0≦c_i≦10^9) が与えられる。
  • 与えられるグラフは連結であることが保証される。

出力

11 行目に問題文中で求められている答えを出力せよ。末尾に改行を入れること。


入力例1Copy

Copy
6 7
1 2 5
2 3 3
3 4 6
2 5 2
5 6 7

出力例1Copy

Copy
3

(a,b)=(1,5),(4,5),(5,6)(a,b)=(1,5),(4,5),(5,6) のとき、パス上の辺のコストのxor\rm{xor}和が 77(22進表記で111111) となるので答えは 33 となる。

この入力例に対するグラフは下図のようになる。コストについては、その1010進表記と22進表記を表示している。

サンプル1説明

入力例2Copy

Copy
6 3
1 2 1
2 3 3
3 4 2
4 5 3
4 6 1

出力例2Copy

Copy
4

入力例3Copy

Copy
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

出力例3Copy

Copy
25


2025-04-28 (Mon)
18:26:47 +00:00