CF1977B Binary Colouring

题目描述

给定一个正整数 $x$。请你找到任意一个整数数组 $a_0, a_1, \ldots, a_{n-1}$,满足以下条件: - $1 \le n \le 32$; - 对于所有 $0 \le i \le n - 1$,$a_i$ 只能取 $1$、$0$ 或 $-1$; - $x = \displaystyle{\sum_{i=0}^{n - 1}{a_i \cdot 2^i}}$; - 不存在 $0 \le i \le n - 2$ 使得 $a_{i} \neq 0$ 且 $a_{i + 1} \neq 0$。 可以证明,在本题的限制条件下,总是存在一个满足条件的数组。

输入格式

输入包含多组测试数据。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。接下来的每个测试用例包含一行,一个正整数 $x$($1 \le x < 2^{30}$)。

输出格式

对于每个测试用例,输出两行。 第一行输出一个整数 $n$($1 \le n \le 32$),表示数组 $a_0, a_1, \ldots, a_{n-1}$ 的长度。 第二行输出数组 $a_0, a_1, \ldots, a_{n-1}$。 如果存在多个满足条件的数组,你可以输出任意一个。

说明/提示

在第一个测试用例中,一个合法的数组为 $[1]$,因为 $(1) \cdot 2^0 = 1$。 在第二个测试用例中,一个可能的合法数组为 $[0, -1, 0, 0, 1]$,因为 $0 \cdot 2^0 + (-1) \cdot 2^1 + 0 \cdot 2^2 + 0 \cdot 2^3 + 1 \cdot 2^4 = -2 + 16 = 14$。 由 ChatGPT 4.1 翻译