Зростаюча таблиця
Обмеження: 2 сек., 512 МіБ
Вам дані натуральні числа \(n, m\), і \(n\cdot m\) цілих чисел \(a_1, a_2, \ldots, a_{nm}\). Чи можна їх розставити в таблиці \(n \times m\) таким чином, щоб:
Числа в кожному рядку йшли в порядку зростання, зліва направо;
Числа в кожному стовпчику йшли в порядку зростання, зверху вниз?
Якщо так, виведіть приклад відповідно заповненої таблиці.
Вхідні дані
Перший рядок вхідних даних містить одне натуральне число \(t\) — кількість тестових наборів.
Перший рядок кожного тестового набору містить два натуральні числа \(n, m\) — розміри таблиці.
Другий рядок кожного тестового набору містить \(n \cdot m\) натуральних чисел \(a_1, a_2, \ldots, a_{nm}\).
Вихідні дані
Для кожного тестового набору, якщо відповідним чином заповнити
таблицю неможливо, виведіть NO
.
Інакше, виведіть YES
. В \(i\)-му з наступним \(n\) рядків виведіть \(m\) чисел \(b_{i,
1}, b_{i, 2}, \ldots, b_{i, m}\) — елементи \(i\)-го рядка.
Якщо існує кілька способів заповнити таблицю таким чином, виведіть будь-який.
Обмеження
\(1 \leq t \leq 10000\),
\(1\leq n\cdot m \leq 2\cdot 10^5\),
\(1 \leq a_i \leq 10^9\),
Сума \(n\cdot m\) по всіх тестовим наборах не перевищує \(2\cdot 10^5\).
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
3 1 4 4 3 2 1 2 3 1 1 2 2 3 3 3 2 1 2 2 3 3 4 | YES 1 2 3 4 NO YES 1 2 2 3 3 4 |
Примітки
Приклади для першого та третього тестового набору наведені в вихідних даних. Можна показати, що для другого тестового набору розташувати числа задовольняючи умові задачі неможливо.
Надіслати розв'язок
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|