#P17134. 链上 Nim

链上 Nim

1010. 链上 Nim

题目描述

在一片古老遗迹的深处,两位旅人发现了一排排风化的石块,相邻的石块之间用生锈的金属环连接。每一排都形成一条,而墙上模糊的刻文将这种游戏称为「链上 Nim」。

一条长度为 LL 的链包含 LL 个顶点和 L1L-1 条连边。玩家 11 先手,之后两位玩家轮流行动。在每一回合,当前玩家选择一条链,并按照固定的游戏规则在其中进行一次合法操作。这是一个公平组合游戏:可以选择的操作只取决于当前局面,而与轮到了哪位玩家无关。无法继续行动的玩家判负。

可惜,刻文中记载具体操作规则的部分已经损坏。两位旅人只知道,根据 Sprague--Grundy 定理,每条链仍然有唯一的非负整数 SG 值。对于每个可能的链长 LL,记一条该长度链的 SG 值为 GLG_L

一场游戏可以在若干条非空、彼此独立的链上同时进行。每次行动只会影响玩家选中的那一条链。因此,若一个局面中各条链的长度为 L1,L2,,LCL_1,L_2,\ldots,L_C,那么整个局面的 SG 值等于各条链 SG 值的 Nim 和,也就是按位异或和:

$$G_{L_1}\mathbin{\mathtt{xor}}G_{L_2}\mathbin{\mathtt{xor}}\cdots\mathbin{\mathtt{xor}}G_{L_C}.$$

一位新人曾经旁观了 KK 个历史局面。对于每场过去的游戏,他记下了局面中所有链的长度,并向熟悉游戏的玩家询问了整个局面的 SG 值。然而,他并不知道每个 GLG_L 分别是多少。

现在,他又遇到了 QQ 个新局面,并想知道:

「只使用笔记中的历史记录,能否唯一确定这个局面的 SG 值?」

如果根据历史记录能够唯一确定这个局面的 SG 值,就输出这个值;如果无法确定,就输出 1-1

输入格式

第一行包含一个整数 TT1T101\le T\le 10),表示测试用例的数量。

接下来依次描述 TT 组测试用例。对于每组测试用例:

第一行包含一个整数 KK1K1001\le K\le 100),表示历史局面数量。

接下来的 KK 个历史局面均恰好用两行描述:

  • 第一行包含两个整数 CCSS1C1001\le C\le 1000S1040\le S\le 10^4),分别表示链的数量和该局面的已知 SG 值。
  • 第二行恰好包含 CC 个整数 L1,L2,,LCL_1,L_2,\ldots,L_C1Li1001\le L_i\le 100),表示以顶点数计算的各条链的长度。

接下来一行包含一个整数 QQ1Q1001\le Q\le 100),表示询问数量。

接下来的 QQ 个询问均恰好用两行描述:

  • 第一行包含一个整数 DD1D1001\le D\le 100),表示链的数量。
  • 第二行恰好包含 DD 个整数 R1,R2,,RDR_1,R_2,\ldots,R_D1Ri1001\le R_i\le 100),表示以顶点数计算的各条链的长度。

链长可以以任意顺序给出,也可以重复。所有被描述的局面都不为空。

输出格式

对于每组测试用例中的每个询问,输出一行一个整数。

样例输入

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

样例输出

5
3
-1
0
-1

来源:2026杭电多校-测试专用(电子科大) 原题链接:http://acm.hdu.edu.cn/contest/problem_show.php?cid=1233&pid=1010