AT_arc214_b.[ARC214B] Missing Number in Graph
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个连通的简单无向图,包含 N 个顶点和 M 条边,顶点编号为 1,…,N,边编号为 1,…,M。第 i 条边连接顶点 Ai 和 Bi。此外,还有 N+1 张卡片,分别写有 0 到 N 的整数。
Snuke 按如下顺序进行了操作:
- 将每个顶点放上一张卡片,剩下的一张卡片被他吃掉。
- 对于每一条边 i (1≤i≤M),在第 i 条边上写下放在顶点 Ai 和 Bi 上的卡片上数字的按位异或(bitwise XOR)结果。记该数为 Xi。
- 丢弃所有放在顶点上的卡片。
现在给定关于图的信息(N,M,A1,…,AM,B1,…,BM,X1,…,XM),请确定 Snuke 吃掉的卡片上的整数。如果不能唯一确定,输出 -1。保证所给的 X 能通过题目中的操作得到。
给定 T 组测试数据,请求解每组数据。
什么是按位异或(bitwise XOR)?非负整数 A 和 B 的按位异或 A⊕B 定义如下:
- A⊕B 的二进制表示中,第 2k 位(k≥0)如果 A 和 B 的二进制表示中同一位正好有一个为 1,则为 1,否则为 0。
例如,3⊕5=6(二进制:011⊕101=110)。
一般情况下,k 个非负整数 p1,p2,p3,…,pk 的按位异或定义为 (…((p1⊕p2)⊕p3)⊕⋯⊕pk),且可以证明,这与运算的顺序无关。
输入格式
输入由标准输入给出,格式如下:
T case1 case2 ⋮ caseT
每组测试数据格式如下:
N M A1 B1 X1 A2 B2 X2 ⋮ AM BM XM
输出格式
输出共 T 行。
第 i 行输出第 i 组测试数据 Snuke 吃掉的卡片上的整数;如果无法唯一确定,则输出 -1。
输入输出样例
输入#1
3 2 1 1 2 3 1 0 4 4 2 1 4 1 3 5 1 4 7 2 3 1
输出#1
0 -1 2
说明/提示
样例解释 1
对于第一组测试数据,图如下所示。

顶点 1 和 2 上可能的卡片数字对有 (1,2) 和 (2,1),无论哪种,Snuke 吃掉的卡片上的数字都是 0。
对于第二组测试数据,Snuke 吃掉卡片的数字可能是 0 或 1,都成立。
对于第三组测试数据,图如下所示。

数据范围
- 1≤T≤104
- 1≤N≤2×105
- 0≤M≤2×105
- 1≤Ai,Bi≤N
- 给定的图是连通的简单无向图。
- X1,…,XM 可以通过上述操作得到。
- 所有测试用例 N 之和不超过 2×105。
- 所有测试用例 M 之和不超过 2×105。
- 所有输入值均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?