C语言里,这个多个整数xor的问题,是如何实现的,C语言

Problem Description
BrotherK likes playing GALGAME, now he wants to design a GALGAME.

Ery has designed N roles for his game, each role can be described as four integers: name, face, character, magic(Just a special parameter, don't care about it). BrotherK need to select some roles for his game, and there are some rules:

Assume BrotherK has selected K roles, i-th role's magic is Mi, the equation should be hold: M1 xor M2 xor .. xor MK = 0. (xor means exclusive or, (a xor b) means (a ^ b) in C/C++/Java).

There is not any pair of selected role has same face.

For each character(except there is not any role with the character), BrotherK should select at least one role with the character.

Now, BrotherK wants to know there are how many ways to choose roles.

Input
The first line contains a single integer T, indicating the number of test cases.

Each test case begins with one integers N, indicating the number of roles designed by Ery.Following N lines, i-th line contains three integers
Facei, Characteri and Magici, describing the role whose Name is i.

T is about 100, in most case, N is small.

1 ≤ N ≤ 32.

1 ≤ Facei,Characteri ≤ N.

0 ≤ Magici ≤ 100000.

Output
For each test, print one line.

The line contains a number indicating the number of BrotherK's ways to choose roles.

Sample Input
2
3
1 2 1
2 1 1
1 1 1
5
1 2 1
1 1 2
1 2 2
2 1 1
3 2 2

Sample Output
1
2

1个回答

model name : AMD Opteron(tm) Processor 6136
stepping : 1
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 8
core id : 0

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问