CF1407A.Ahahahahahahahaha

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Ahahahahahahahaha

题目描述

Alexandra 有一个由若干0011组成的数组aa,且数组aa的长度nn为偶数,数列中所有元素的编号依次为11 ~ nn。她希望在数组中删除一些元素,来使得奇数编号位置上的数字之和等于偶数编号位置上的数字之和(a1a2+a3a4+...=0a_1 - a_2 + a_3 - a_4 + ... = 0),最多删除n2\frac{n}{2}个元素且删除的元素不必是连续的

例如,如果原数组aa = [1,0,1,0,0,0]\left[1,0,1,0,0,0\right],且她删除了原数列中的第22个和第44个元素,那么数组aa将变成[1,1,0,0]\left[1,1,0,0\right],并且奇数编号位置上的数字之和等于偶数编号位置上的数字之和。

帮帮她解决这个问题吧!

输入格式

每个测试点包含多组样例,输入的第一行包含一个数字t,表示样例的组数。(1t1031 \le t \le 10^3 )

接下来每两行为一组样例,其中第一行包含一个整数nn,表示数组的长度。(2n1032 \le n \le 10^3 且 n为偶数)

第二行包含n个整数,分别为数组中的每个元素 a1,a2,a3,...,ana_1, a_2, a_3, ... , a_n。(0ai10 \le a_i \le 1

输入数据保证所有测试点中nn的和不超过10310^3

输出格式

对于每组样例,第一行输出kk,用来表示经过删除操作后数组aa中剩下的元素个数。(n2kn\frac{n}{2} \le k \le n

然后在第二行中,输出这剩下的kk个数字。注意是输出这些数字本身,而不是输出他们的编号。

显而易见的是答案必然会存在至少一个,如果有多个答案,你可以输出其中的任何一个答案。

样例

4
2
1 0
2
0 0
4
0 1 1 1
4
1 1 0 0
1
0
1
0
2
1 1
4
1 1 0 0

在线编程 IDE

建议全屏模式获得最佳体验