Цель: Учитывая матрицу положительных целых чисел , выведите наименьшую центросимметричную матрицу, которая содержит M (эта матрица также может содержать неположительные целые числа).
Центросимметричная матрица - это квадратная матрица с вращательной симметрией порядка 2, т.е. она остается той же самой матрицей после ее двойного вращения. Например, центросимметричная матрица имеет верхний левый элемент такой же, как нижний правый, а элемент выше центра такой же, как элемент ниже центра. Полезную визуализацию можно найти здесь .
Более формально, с учетом матрицы , производит квадратную матрицу N такой , что N центросимметричен и М ⊆ N , и нет никакой другой квадратная матрицы К таким образом, что тусклый К < тусклого N .
является подмножеством B (обозначение: A ⊆ B ) тогда и только тогда, когда каждое значение A i , j появляется в индексе B i + i ′ , j + j ′ для некоторой пары целых чисел ( i ′ , j ′ ) .
Примечание : некоторые матрицы имеют несколько решений (например [[3,3],[1,2]]
, решаются как [[2,1,0],[3,3,3],[0,1,2]]
или [[3,3,3],[1,2,1],[3,3,3]]
); Вы должны вывести хотя бы одно из действительных решений.
Контрольные примеры
input
example output
[[1, 2, 3],
[4, 5, 6]]
[[1, 2, 3, 0],
[4, 5, 6, 0],
[0, 6, 5, 4],
[0, 3, 2, 1]]
[[9]]
[[9]]
[[9, 10]]
[[9, 10],
[10, 9]]
[[100, 200, 300]]
[[100, 200, 300],
[ 0, 0, 0],
[300, 200, 100]]
[[1, 2, 3],
[4, 5, 4]]
[[1, 2, 3],
[4, 5, 4]
[3, 2, 1]]
[[1, 2, 3],
[5, 6, 5],
[3, 2, 1]]
[[1, 2, 3],
[5, 6, 5],
[3, 2, 1]]
[[4, 5, 4],
[1, 2, 3]]
[[3, 2, 1],
[4, 5, 4],
[1, 2, 3]]
[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 9, 9, 9, 9, 9, 9, 9],
[1, 1, 1, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 1]]
[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9],
[1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1],
[9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]