Фон
У більшості розумних мов програмування обертати рядки або стовпці 2D масиву дуже просто. У цьому виклику ваше завдання - повернути антидіагоналі замість цього. Нагадаємо, що антидіагоналі двовимірного масиву - це його 1D зрізи, взяті у північно-східному напрямку ↗.
Вхідні дані
Непорожній прямокутний 2D масив одноцифрових чисел у будь-якому розумному форматі. Зауважте, що масив може бути не квадратом.
Вихід
Той самий масив, але з кожною антидіагоналлю повертається на один крок вправо.
Приклад
Розглянемо 3x4
вхідний масив
0 1 2 3
4 5 6 7
8 9 0 1
Антидіагоналі цього масиву є
0
4 1
8 5 2
9 6 3
0 7
1
Їх обертові версії є
0
1 4
2 8 5
3 9 6
7 0
1
Таким чином, правильний вихід
0 4 5 6
1 8 9 0
2 3 7 1
Правила та оцінка
Ви можете написати повну програму або функцію. Також прийнятно написати функцію, яка змінює вхідний масив на місці, якщо ваша мова дозволяє це. Виграє найменший кількість байтів, а стандартні лазівки заборонені.
Таблиця лідерів
Ось фрагмент стека для створення як звичайного табло, так і огляду переможців за мовою.
Щоб переконатися, що ваша відповідь відображається, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown:
## Language Name, N bytes
де N
розмір вашого подання. Якщо ви хочете включити у свій заголовок декілька чисел (наприклад, тому що ваш результат - це сума двох файлів, або ви хочете окремо перерахувати штрафні санкції для перекладача або хочете показати старі бали, які ви покращили), переконайтеся, що фактичний результат - це останнє число в заголовку.
Додаткові тестові випадки
Input:
4
Output:
4
Input:
5 6 1
Output:
5 6 1
Input:
0 1
6 2
Output:
0 6
1 2
Input:
6 3 0 8
4 6 1 4
6 2 3 3
9 3 0 3
Output:
6 4 6 1
3 6 2 3
0 9 3 0
8 4 3 3
Input:
5 8 2
6 7 3
2 6 1
6 0 6
6 4 1
Output:
5 6 7
8 2 6
2 6 0
3 6 4
1 6 1
Input:
9 9 4 0 6 2
2 3 2 6 4 7
1 5 9 3 1 5
0 2 6 0 4 7
Output:
9 2 3 2 6 4
9 1 5 9 3 1
4 0 2 6 0 4
0 6 2 7 5 7