AT_arc214_b.[ARC214B] Missing Number in Graph

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个连通的简单无向图,包含 NN 个顶点和 MM 条边,顶点编号为 1,…,N1, \dots ,N,边编号为 1,…,M1, \dots ,M。第 ii 条边连接顶点 AiA_i 和 BiB_i。此外,还有 N+1N+1 张卡片,分别写有 00 到 NN 的整数。

Snuke 按如下顺序进行了操作:

  1. 将每个顶点放上一张卡片,剩下的一张卡片被他吃掉。
  2. 对于每一条边 i (1≤i≤M)i\ (1 \le i \le M),在第 ii 条边上写下放在顶点 AiA_i 和 BiB_i 上的卡片上数字的按位异或(bitwise XOR)结果。记该数为 XiX_i。
  3. 丢弃所有放在顶点上的卡片。

现在给定关于图的信息(N,M,A1,…,AM,B1,…,BM,X1,…,XMN,M,A_1,\dots ,A_M,B_1,\dots ,B_M,X_1,\dots ,X_M),请确定 Snuke 吃掉的卡片上的整数。如果不能唯一确定,输出 -1。保证所给的 XX 能通过题目中的操作得到。

给定 TT 组测试数据,请求解每组数据。

什么是按位异或(bitwise XOR)?非负整数 AA 和 BB 的按位异或 A⊕BA \oplus B 定义如下:

  • A⊕BA \oplus B 的二进制表示中,第 2k2^k 位(k≥0k \geq 0)如果 AA 和 BB 的二进制表示中同一位正好有一个为 11,则为 11,否则为 00。

例如,3⊕5=63 \oplus 5 = 6(二进制:011⊕101=110011 \oplus 101 = 110)。
一般情况下,kk 个非负整数 p1,p2,p3,…,pkp_1,p_2,p_3,\dots,p_k 的按位异或定义为 (…((p1⊕p2)⊕p3)⊕⋯⊕pk)(\dots((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k),且可以证明,这与运算的顺序无关。

输入格式

输入由标准输入给出,格式如下:

TT case1\text{case}_1 case2\text{case}_2 ⋮\vdots caseT\text{case}_T

每组测试数据格式如下:

NN MM A1A_1 B1B_1 X1X_1 A2A_2 B2B_2 X2X_2 ⋮\vdots AMA_M BMB_M XMX_M

输出格式

输出共 TT 行。

第 ii 行输出第 ii 组测试数据 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

对于第一组测试数据,图如下所示。

顶点 11 和 22 上可能的卡片数字对有 (1,2)(1,2) 和 (2,1)(2,1),无论哪种,Snuke 吃掉的卡片上的数字都是 00。

对于第二组测试数据,Snuke 吃掉卡片的数字可能是 00 或 11,都成立。

对于第三组测试数据,图如下所示。

数据范围

  • 1≤T≤1041 \le T \le 10^4
  • 1≤N≤2×1051 \le N \le 2 \times 10^5
  • 0≤M≤2×1050 \le M \le 2 \times 10^5
  • 1≤Ai,Bi≤N1 \le A_i,B_i \le N
  • 给定的图是连通的简单无向图。
  • X1,…,XMX_1,\dots ,X_M 可以通过上述操作得到。
  • 所有测试用例 NN 之和不超过 2×1052 \times 10^5。
  • 所有测试用例 MM 之和不超过 2×1052 \times 10^5。
  • 所有输入值均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页