Олимпиадный тренинг

Задача . E. Постройте матрицу


Вам дано четное целое число \(n\) и целое число \(k\). Ваша задача — построить матрицу размера \(n \times n\), состоящую из чисел \(0\) и \(1\) таким образом, чтобы выполнялись следующие условия, или сообщить, что это невозможно:

  • сумма всех чисел в матрице равна ровно \(k\);
  • побитовый \(\texttt{XOR}\) всех чисел в строке \(i\) одинаков для каждого \(i\);
  • побитовый \(\texttt{XOR}\) всех чисел в столбце \(j\) одинаков для каждого \(j\).
Входные данные

Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число \(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}\) в противном случае.

Если матрицу построить возможно, то \(i\)-я из следующих \(n\) строк должна содержать \(n\) целых чисел, представляющих элементы в \(i\)-й строке матрицы.

Примечание

В первом примере все условия выполнены:

  • сумма всех чисел в матрице равна ровно \(0\);
  • побитовый \(\texttt{XOR}\) всех чисел в строке \(i\) равен \(0\) для каждого \(i\);
  • побитовый \(\texttt{XOR}\) всех чисел в столбце \(j\) равен \(0\) для каждого \(j\).

В третьем примере можно показать, что найти матрицу, удовлетворяющую всем условиям задачи, невозможно.


Примеры
Входные данныеВыходные данные
1 5
4 0
6 6
6 5
4 2
6 36
Yes
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Yes
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
No
No
Yes
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя