AT_arc199_b.[ARC199B] Adjacent Replace
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的非负整数序列 A=(A1,A2,…,AN) 和一个非负整数 K。
请判断是否可以通过不超过 104 次以下操作使得 A1=K。
- 选择一个整数 i (1≤i≤N−1),令 x=Ai⊕Ai+1,然后将 Ai 和 Ai+1 都替换为 x。
这里,⊕ 表示按位异或(XOR)运算。
如果可能,请输出一种满足条件的操作步骤。
有 T 组测试数据,请分别作答。
按位异或(XOR)运算的定义如下:对于非负整数 A,B,A⊕B 的二进制表示中,第 2k 位(k≥0)的数为 A,B 的二进制表示中第 2k 位的数中恰有一个为 1 时为 1,否则为 0。
例如,3⊕5=6(二进制表示为:011⊕101=110)。
输入格式
输入按以下格式从标准输入读入。
T
case1
case2
⋮
caseT
每组测试数据格式如下:
N K A1 A2 … AN
输出格式
请按顺序输出每组测试数据的答案。
如果无法通过不超过 104 次操作使 A1=K,输出 No。
如果可以,请输出操作步骤,格式如下:
Yes M i1 i2 … iM
其中,M 表示操作次数,ij (1≤j≤M) 表示第 j 次操作选择的整数 i。要求 0≤M≤104, 1≤ij≤N−1。
如果存在多种满足条件的操作方案,输出任意一种均可。
输入输出样例
输入#1
5 3 5 2 3 4 3 0 2 3 4 3 8 2 3 4 3 2 2 3 4 4 10 2 3 4 8
输出#1
Yes 2 2 1 Yes 3 1 1 1 No Yes 0 Yes 4 2 3 2 1
说明/提示
数据范围
- 1≤T≤50
- 3≤N≤60
- 0≤Ai,K<260
- 输入均为整数
样例解释 1
对于第 1 组测试数据,可以按如下方式操作使 A1=5。
- 选择 i=2,A=(2,7,7)。
- 选择 i=1,A=(5,5,7)。
对于第 2 组测试数据,可以按如下方式操作使 A1=0。
- 选择 i=1,A=(1,1,4)。
- 选择 i=1,A=(0,0,4)。
- 选择 i=1,A=(0,0,4)。
对于第 3 组测试数据,无法通过不超过 104 次操作使 A1=8。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?