CF1917E Construct Matrix

题目描述

给定一个偶数 $n$ 和一个整数 $k$,你的任务是构造一个由 $0$ 和 $1$ 组成的 $n \times n$ 矩阵,使得满足以下条件,或者报告无解: - 矩阵中所有数字的和恰好为 $k$; - 每一行的所有数字的按位异或结果都相同; - 每一列的所有数字的按位异或结果都相同。

输入格式

每个测试点包含多组测试数据。第一行包含一个整数 $t$($1 \leq t \leq 130$),表示测试数据的组数。 接下来每组测试数据占一行,每行包含两个整数 $n$ 和 $k$($2 \leq n \leq 1000$,$n$ 为偶数,$0 \leq k \leq n^2$)。 保证所有测试数据中 $n$ 的总和不超过 $2000$。

输出格式

对于每组测试数据,如果存在满足条件的矩阵,输出 $\texttt{Yes}$,否则输出 $\texttt{No}$。 如果存在满足条件的矩阵,接下来的 $n$ 行,每行输出 $n$ 个整数,表示该矩阵的第 $i$ 行元素。

说明/提示

在第一个样例中,所有条件都满足: - 矩阵中所有数字的和恰好为 $0$; - 每一行的所有数字的按位异或结果都是 $0$; - 每一列的所有数字的按位异或结果都是 $0$。 在第三个样例中,可以证明不存在满足所有条件的矩阵。 由 ChatGPT 4.1 翻译