Давши 2D масив цілих чисел, давайте сортуватимемо його рядки та стовпці по блоках. Це означає, що вам потрібно лише сортувати заданий рядок або стовпець, але застосувати перетворення, необхідні для їх сортування, до всіх інших рядків або стовпців у двовимірному масиві.
Правила
- Введеним буде 2D масив цілих чисел та 1-індексоване ціле число. Це ціле число буде представляти рядок, який буде відсортовано, якщо число додатне, або стовпець, який буде відсортований, якщо число від’ємне (або навпаки, який ви хочете). Приклад: Давши
4x3
масив (рядки x стовпці), ви можете сортувати другий стовпець із-2
аргументом або третій рядок з3
аргументом. Цей другий аргумент ніколи не буде дорівнює нулю, і його абсолютне значення ніколи не буде більше відповідного розміру масиву. - Виведенням також буде двовимірний масив цілих чисел із необхідними перетвореннями, застосованими для сортування заданого рядка чи стовпця. Крім того, ви можете просто записати масив в STDOUT.
- Вихідний масив матиме вказаний рядок або стовпець, відсортований у порядку зростання. Просто зауважте, що коли вам потрібно поміняти місцями два числа, цілі стовпці, у яких лежать числа, будуть замінені. І коли вам потрібно поміняти місцями два числа в стовпчик, ці рядки, в яких лежать числа, будуть замінені.
- У випадку, коли одне і те ж число відображається кілька разів у рядку / стовпці для сортування, можливе декілька рішень відповідно до способу заміни значень, просто виконайте це відповідно до решти рядків / стовпців, які потрібно замінити.
Приклади
Positive indices for rows and negative indices for columns
[5 8 7 6 [1 3 2 4
1 3 2 4 order by -3 (3rd column) --> 9 6 3 0
9 6 3 0] 5 8 7 6]
[5 8 7 6 [9 6 3 0
1 3 2 4 order by -4 (4th column) --> 1 3 2 4
9 6 3 0] 5 8 7 6]
[5 8 7 6 [5 7 8 6
1 3 2 4 order by 2 (2nd row) --> 1 2 3 4
9 6 3 0] 9 3 6 0]
[5 8 7 6 [6 7 8 5
1 3 2 4 order by 3 (3rd row) --> 4 2 3 1
9 6 3 0] 0 3 6 9]
[1 2 [1 2 [3 2
3 2] order by -2 (2nd column) --> 3 2] or 1 2] (both are valid)
[7 5 9 7 [5 7 7 9 [5 7 7 9
1 3 2 4 order by 1 (1st row) --> 3 1 4 2 or 3 4 1 2
9 6 3 0] 6 9 0 3] 6 0 9 3]
Це код-гольф , тому може виграти найкоротший код для кожної мови!