Desafío
Escriba un programa o una función que devuelva o imprima una matriz simétrica aleatoria cuadrada.
Entrada
N : el tamaño de la matriz, es decir6 x 6
Salida
La matriz. Puede imprimirlo, devolverlo como una cadena (con las nuevas líneas) o como una lista / matriz de listas / matrices.
Reglas
Debe usar al menos
N
caracteres diferentes, dondeN
es el tamaño de la matriz cuadrada (entrada). Como estamos usando solo la letra [a, z] [A, Z] y los dígitos [0, 9] (y solo 1 dígito a la vez), puede suponer esoN < 27
yN > 2
, eso es porqueN <= 2
no puede tener ambas letras y dígitos. Por último, pero no menos importante, cada letra / dígito debe tener una probabilidad distinta de cero (la distribución uniforme no es una necesidad). Sin embargo, el resultado debe tener al menosN
letras / dígitos diferentes.La matriz tiene que ser simétrica tanto horizontal como verticalmente.
Exactamente 2 filas y 2 columnas deben contener estrictamente un número de un solo dígito (su posición también debe ser aleatoria). El resto de filas / columnas contendrá solo letras. Considere letras como [a, z] y [A, Z] y, por supuesto, números de un solo dígito como [0, 9].
Para que quede más fácil, se puede asumir que el caso de las letras no importa, siempre y cuando los casos son simétricas cuyos medios:
a=A, b=B, etc
.Cada salida posible debe tener una probabilidad distinta de cero. La distribución aleatoria no necesita ser uniforme.
Ejemplo
Entrada : 8
Salida :
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