AT_arc215_e.[ARC215E] CNOT Party
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个长度为 N 的二进制字符串 A=A1A2…AN 和 B=B1B2…BN。
你可以进行 M 种不同类型的操作。第 i 种操作由一对整数 (xi,yi) 表示,1≤xi,yi≤N。当 Axi=1 时,该操作会将 Ayi 的值翻转(0 变为 1,1 变为 0)。允许 xi=yi。这里“翻转”是指将 0 变为 1,将 1 变为 0。
请判断是否有办法最多通过 2N 次上述操作,将 A 变为与 B 完全相同的字符串。如果可以,请构造出一种可行方案。
共有 T 组测试数据,请分别解决每一组。
输入格式
输入由标准输入给出,格式如下:
T case1 case2 ⋮ caseT
每组测试数据格式如下:
N A B M x1 y1 x2 y2 ⋮ xM yM
输出格式
按顺序输出 T 组测试数据的答案。
对于每组测试,如果不存在符合要求的操作序列,输出一行 -1。
如果存在一种可行操作方式,假设总共进行了 K 次操作,分别选择了第 C1,C2,…,CK 种操作,则输出:
K C1 C2 … CK
其中 K 不超过 2N,且在进行第 i 次操作时,不能使 Axi=0。
输入输出样例
输入#1
3 4 0100 1010 4 1 2 2 1 2 3 4 3 2 10 01 1 1 2 2 01 00 3 1 1 1 2 2 1
输出#1
3 2 3 1 -1 3 3 2 1
说明/提示
样例解释 1
对于第一组测试,操作如下:
- 初始 A=0100。
- 执行第 2 次操作,A=1100。
- 执行第 3 次操作,A=1110。
- 执行第 1 次操作,A=1010。
对于第二组测试,无论如何操作,也无法使 A1 变为 0。
注意,如第三组测试所示,允许 xi=yi。
约束条件
- 1≤T≤2×105
- 1≤N≤2×105
- 1≤M≤2×105
- A 与 B 均为长度为 N 的二进制串。
- A=B
- 1≤xi≤N (1≤i≤M)
- 1≤yi≤N (1≤i≤M)
- 所有测试数据中 N 与 M 之和不超过 2×105。
- T,N,M,xi,yi 均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?