Universal Cup Judging System

Universal Cup

時間限制: 1.0 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓
统计

В этой задаче вам нужно построить сетку из $n$ строк и $n$ столбцов. В каждой ячейке сетки находится целое число, где $a_{i,j}$ обозначает число в ячейке, расположенной в $i$-й строке и $j$-м столбце. Каждое целое число от $1$ до $n^2$ (включительно) встречается в сетке ровно один раз.

Мы называем целое число $x$ «бинго-числом» этой сетки, если выполняется хотя бы одно из двух следующих условий: Существует хотя бы одна строка, в которой все числа в ячейках меньше или равны $x$. Существует хотя бы один столбец, в котором все числа в ячейках меньше или равны $x$.

Легко заметить, что сетка может иметь несколько бинго-чисел, однако в этой задаче нас интересует только наименьшее бинго-число.

Даны целые числа $n$ и $k$. Постройте сетку из $n$ строк и $n$ столбцов такую, чтобы её наименьшее бинго-число было в точности равно $k$.

Входные данные

Входные данные содержат несколько тестовых случаев. Первая строка содержит целое число $T$ ($1 \le T \le 50$), указывающее количество тестовых случаев. Для каждого тестового случая: Первая и единственная строка содержит два целых числа $n$ и $k$ ($1 \le n \le 50$, $1 \le k \le n^2$).

Выходные данные

Для каждого тестового случая: Если возможно построить сетку из $n$ строк и $n$ столбцов такую, что её наименьшее бинго-число равно $k$, сначала выведите Yes в одной строке. Затем выведите $n$ строк, где $i$-я строка содержит $n$ целых чисел $a_{i,1}, a_{i,2}, \dots, a_{i,n}$, разделенных пробелом, обозначающих числа в $i$-й строке сетки. Не забудьте, что каждое целое число от $1$ до $n^2$ (включительно) должно встречаться в сетке ровно один раз. Если существует несколько подходящих ответов, вы можете вывести любой из них. Если найти ответ невозможно, просто выведите No в одной строке.

Примеры

Входные данные 1

4
3 5
4 10
5 2
1 1

Выходные данные 1

Yes
4 2 5
7 1 9
8 6 3
Yes
14 9 2 13
1 11 16 8
10 3 7 5
6 15 4 12
No
Yes
1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.