Desafio
Escreva um programa ou uma função que retorne ou imprima uma matriz simétrica quadrada aleatória.
Entrada
N : O tamanho da matriz, ou seja,6 x 6
Resultado
O Matrix. Você pode imprimi-lo, devolvê-lo como string (com as novas linhas) ou como uma lista / matriz de listas / matrizes.
Regras
Você precisa usar pelo menos
N
caracteres diferentes, ondeN
é o tamanho da matriz quadrada (entrada). Como estamos usando apenas as letras [a, z] [A, Z] e dígitos [0, 9] (e apenas 1 dígito de cada vez), você pode assumir issoN < 27
eN > 2
, isso porqueN <= 2
você não pode ter as duas letras e dígitos. Por último, mas não menos importante, toda letra / dígito deve ter uma probabilidade diferente de zero (a distribuição uniforme não é uma necessidade). No entanto, o resultado deve ter pelo menosN
letras / dígitos diferentes.A matriz deve ser horizontal e verticalmente simétrica.
Exatamente 2 linhas e 2 colunas devem conter estritamente um número de um dígito (sua posição também deve ser aleatória). O restante das linhas / colunas conterá apenas letras. Considere letras como [a, z] e [A, Z] e, claro, números de um dígito como [0, 9].
Só para ser mais fácil, você pode assumir que o caso das cartas não importa, contanto que os casos são simétricas que significa:
a=A, b=B, etc
.Toda saída possível deve ter uma probabilidade diferente de zero de ocorrer. A distribuição aleatória não precisa ser uniforme.
Exemplo
Entrada : 8
Saída :
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