CF1823A A-characteristic

题目描述

给定一个由 $1$ 和 $-1$ 组成的数组 $a_1, a_2, \dots, a_n$。定义该数组的 $A$-特征值为满足 $a_i \cdot a_j = 1$ 的下标对 $(i, j)$ 的数量,其中 $1 \le i < j \le n$。 请你构造一个长度为 $n$ 的数组 $a$,使其 $A$-特征值等于给定的 $k$。

输入格式

每个测试点包含多组测试用例。第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。 接下来每个测试用例占一行,包含两个整数 $n$ 和 $k$($2 \le n \le 100$;$0 \le k \le \frac{(n-1)n}{2}$),分别表示所需数组的长度和所需的 $A$-特征值。

输出格式

对于每个测试用例,如果不存在满足条件的数组 $a$,输出 NO。 否则,输出 YES,并输出 $n$ 个 $1$ 或 $-1$,表示构造出的数组 $a$。如果有多种答案,输出任意一种即可。

说明/提示

在第一个测试用例中,数组中只有一对不同的元素,其乘积为 $a_1 \cdot a_2 = -1 \neq 1$,因此其 $A$-特征值为 $0$。 在第二个测试用例中,数组中只有一对相同的元素,其乘积为 $a_1 \cdot a_2 = 1$,因此其 $A$-特征值为 $1$。 在第三个测试用例中,数组中有三对不同的元素,其乘积分别为:$a_1 \cdot a_2 = -1$,$a_1 \cdot a_3 = 1$,$a_2 \cdot a_3 = -1$,因此其 $A$-特征值为 $1$。 在第四个测试用例中,可以证明不存在长度为 $3$ 且 $A$-特征值为 $2$ 的数组。 由 ChatGPT 4.1 翻译