Sfida
Scrivi un programma o una funzione che restituisce o stampa una matrice quadrata casuale-simmetrica.
Ingresso
N : la dimensione della matrice, ad es6 x 6
Produzione
La matrice. È possibile stamparlo, restituirlo come stringa (con le nuove righe) o come elenco / matrice di elenchi / matrici.
Regole
È necessario utilizzare almeno
N
caratteri diversi, dove siN
trova la dimensione della matrice quadrata (input). Dal momento che stiamo usando solo la lettera [a, z] [A, Z] e le cifre [0, 9] (e solo 1 cifra alla volta) puoi supporre che ,N < 27
eN > 2
questo perchéN <= 2
non puoi avere entrambe le lettere e cifre. Ultimo ma non meno importante, ogni lettera / cifra deve avere una probabilità diversa da zero (la distribuzione uniforme non è una necessità). Tuttavia, il risultato deve contenere almenoN
lettere / cifre diverse.La matrice deve essere simmetrica sia in orizzontale che in verticale.
Esattamente 2 righe e 2 colonne devono contenere rigorosamente un numero di una sola cifra (anche la sua posizione deve essere casuale). Il resto delle righe / colonne contiene solo lettere. Considera le lettere come [a, z] e [A, Z] e ovviamente i numeri a una cifra come [0, 9].
Tanto per essere più facile, si può supporre che il caso delle lettere non importa, fintanto che i casi sono simmetrici che vuol dire:
a=A, b=B, etc
.Ogni possibile output deve avere una probabilità diversa da zero. La distribuzione casuale non deve essere uniforme.
Esempio
Ingresso : 8
Uscita :
c r p s s p r c
r k o z z o k r
u t 2 a a 2 t u
y n q z z q n y
y n q z z q n y
u t 2 a a 2 t u
r k o z z o k r
c r p s s p r c