CF1381A1.Prefix Flip (Easy Version)
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
This is the easy version of the problem. The difference between the versions is the constraint on n and the required number of operations. You can make hacks only if all versions of the problem are solved.
There are two binary strings a and b of length n (a binary string is a string consisting of symbols 0 and 1 ). In an operation, you select a prefix of a , and simultaneously invert the bits in the prefix ( 0 changes to 1 and 1 changes to 0 ) and reverse the order of the bits in the prefix.
For example, if a=001011 and you select the prefix of length 3 , it becomes 011011 . Then if you select the entire string, it becomes 001001 .
Your task is to transform the string a into b in at most 3n operations. It can be proved that it is always possible.
输入格式
The first line contains a single integer t ( 1≤t≤1000 ) — the number of test cases. Next 3t lines contain descriptions of test cases.
The first line of each test case contains a single integer n ( 1≤n≤1000 ) — the length of the binary strings.
The next two lines contain two binary strings a and b of length n .
It is guaranteed that the sum of n across all test cases does not exceed 1000 .
输出格式
For each test case, output an integer k ( 0≤k≤3n ), followed by k integers p1,…,pk ( 1≤pi≤n ). Here k is the number of operations you use and pi is the length of the prefix you flip in the i -th operation.
输入输出样例
输入#1
5 2 01 10 5 01011 11100 2 01 01 10 0110011011 1000110100 1 0 1
输出#1
3 1 2 1 6 5 2 5 3 1 2 0 9 4 1 2 10 4 1 2 1 5 1 1
说明/提示
In the first test case, we have 01→11→00→10 .
In the second test case, we have 01011→00101→11101→01000→10100→00100→11100 .
In the third test case, the strings are already the same. Another solution is to flip the prefix of length 2 , which will leave a unchanged.