Змагання
Дано n x m
матрицю з n > 1
і m > 1
заповнене цілими числами
1 2 3 4 5 6
і список цілих чисел з точно стільки ж значень, скільки 2x2
блоків у матриці ( (n-1)*(m-1)
якщо вам потрібно точне число)
[1, 2]
Виведіть матрицю з кожним 2x2
блоком, повернутим на поточне значення у списку в заданому порядку. Наведений вище приклад дасть результат
4 6 2 5 3 1
Перший блок обертається один раз праворуч, а другий блок обертається два праворуч.
Примітки
- Позитивне ціле число означає, що ви обертаєтесь правильно на стільки кроків.
- Від’ємне ціле число означає, що ви повертаєте ліворуч на стільки кроків.
- Нуль означає, що ви не обертаєтесь.
- Ви обертаєте блоки рядково. Це означає, що ви починаєте з першого ряду і рухаєтесь праворуч. Після повернення кожного блоку в цьому ряду ви переходите до наступного. Наприкінці кожен блок був повернутий рівно один раз.
- Майте на увазі, що блоки перекриваються один з одним. Перша матриця вище має блоки
[[1,2],[4,5]]
і,[[2,3],[5,6]]
наприклад. - Кожне обертання блоку впливає на обертання сусідніх блоків. Ось чому ви повинні робити обертання за описаною вище схемою.
Правила
- Ви можете взяти вхід у найбільш зручному форматі. Вкажіть, будь ласка, у відповіді, який саме ви використовуєте. Це не дозволяє вам читати матрицю блочно.
- Функція або повна програма дозволена.
- Правила вводу / виводу за замовчуванням .
- Застосовуються стандартні лазівки .
- Це кодовий гольф , тому виграє найменший байт. Tiereaker є більш раннім поданням.
Тестові справи
Формат введення тут - це список списків для матриці та нормальний список значень.
[[1,2], [3,4]], [-3] -> [[4,1], [3,2]] [[1,1,1], [1,1,1]], [-333, 666] -> [[1,1,1], [1,1,1]] [[1,2,3], [4,5,6]], [1,2] -> [[4,6,2], [5,3,1]] [[1,2,3], [4,5,6], [7,8,9]], [4,0,12, -20] -> [[1,2,3], [4, 5,6], [7,8,9]] [[1,2,3,4,5], [5,4,3,2,1], [1,2,3,4,5]], [2, -3,4,1,6, 24,21, -5] -> [[4,1,5,2,4], [2,1,3,5,5], [3,2,4,3,1]]
Щасливе кодування!
4,=
правильним модулем (хіба що блоку потрібно запустити хоч раз?).