Визначення
Центросімметрічни матриця являє собою квадратну матрицю , яка симетрична відносно його центру. Більш жорстко - матриця розміром є центросиметричною, якщо для будь-якого виконується таке відношення:
Приклади таких матриць
Ось ілюстрація симетрії таких матриць (запозичена з вищезгаданої статті Вікіпедії):
Довжина в сторони ( Центросиметрична матриця ):
І непарна сторона ( ):
Завдання та характеристики
Дано квадратну матрицю розміром не менше , виведіть одне з двох чітких і послідовних значень, вирішивши, матриця є центросиметричною чи ні. Можна припустити, що матриця повністю буде складатися з натуральних чисел.
Однак ваш код також повинен бути центросиметричним. Тобто це повинна бути програма / функція (або еквіваленти), що складається з рядків, кожен з яких містить n байтів у кодуванні вашої мови, і повинен задовольняти визначенню, наведеному вище, але з байтами замість натуральних чисел. Оцінка вашої заявки буде значенням n , меншим n буде кращим.
Ви можете приймати дані та надавати вихід за допомогою будь-якого стандартного методу та в будь-якому розумному форматі, беручи до уваги, що ці лазівки за замовчуванням заборонені. Ви можете (необов'язково) вибрати розмір , як вхідний (якщо ви не приймаєте введення як двовимірний список; в цьому випадку ви можете приймати лише n 2 як додатковий вхід).
Тестові справи
Truthy:
[[1, 2], [2, 1]]
[[1, 2, 3], [5, 6, 5], [3, 2, 1]]
[[10, 5, 30], [2, 6, 2], [30, 5, 10]]
[[100, 100, 100], [100, 50, 100], [100, 100, 100]]
[[1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [4, 3, 2, 1]]
[[3, 4, 5, 6, 7], [5, 6, 7, 8, 9], [3, 2, 10, 2, 3], [9, 8, 7, 6, 5], [7, 6, 5, 4, 3]]
Фальсі:
[[1, 2], [1, 2]]
[[1, 2, 10], [5, 6, 5], [11, 2, 1]]
[[14, 5, 32], [2, 6, 2], [30, 5, 16]]
[[19, 19, 19], [40, 50, 4], [19, 19, 19]]
[[1, 2, 20, 4], [7, 6, 7, 8], [8, 7, 6, 6], [3, 3, 2, 1]]
[[3, 4, 5, 6, 7], [5, 6, 7, 8, 9], [4, 5, 10, 4, 5], [5, 6, 7, 8, 9], [3, 4, 5, 6, 7]]
#
не працюватиме, оскільки коментарі, до яких передує, #
є лише рядковими: P
#
), так що нижня половина коду була б коментарем.