Obiettivo: data una matrice di numeri interi positivi , genera la matrice centrosimmetrica più piccola che contiene M (questa matrice può contenere anche numeri interi non positivi).
Una matrice centrosimmetrica è una matrice quadrata con simmetria rotazionale dell'ordine 2, ovvero rimane la stessa matrice dopo averla ruotata due volte. Ad esempio, una matrice centrosimmetrica ha l'elemento in alto a sinistra uguale a quello in basso a destra e l'elemento sopra il centro uguale a quello sotto il centro. Una visualizzazione utile può essere trovata qui .
Più formalmente, data una matrice , produrre una matrice quadrata N tale che N è centrosimmetrico e M ⊆ N , e non v'è altra matrice quadrata K tale che dim K < dim N .
è un sottoinsieme di B (notazione: A ⊆ B ) se e solo se ogni valore A i , j appare nell'indice B i + i ′ , j + j ′ per alcune coppie di numeri interi ( i ′ , j ′ ) .
Nota : alcune matrici hanno molteplici soluzioni (ad es. [[3,3],[1,2]]
Essere risolte come [[2,1,0],[3,3,3],[0,1,2]]
o [[3,3,3],[1,2,1],[3,3,3]]
); è necessario produrre almeno una delle soluzioni valide.
Casi test
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]]