Вызов
Напишите программу или функцию, которая возвращает или печатает квадратную случайно-симметричную матрицу.
вход
N : размер матрицы, т. Е.6 x 6
Выход
Матрица. Вы можете либо распечатать его, вернуть его в виде строки (с символами новой строки) или в виде списка / массива списков / массивов.
правила
Вам нужно использовать как минимум
N
разные символы, гдеN
размер квадратной матрицы (входной). Так как мы используем только буквы [a, z] [A, Z] и цифры [0, 9] (и только 1 цифру в то время), вы можете предположить, чтоN < 27
иN > 2
, потому что уN <= 2
вас не может быть обеих букв и цифры. Наконец, что не менее важно, каждая буква / цифра должна иметь ненулевую вероятность появления (равномерное распределение не является необходимостью). Однако результат должен содержать как минимумN
другие буквы / цифры.Матрица должна быть как горизонтально, так и вертикально симметричной.
Ровно 2 строки и 2 столбца должны содержать строго однозначное число (его позиция также должна быть случайной). Остальные строки / столбцы будут содержать только буквы. Рассматривайте буквы как [a, z] и [A, Z] и, конечно, однозначные числа как [0, 9].
Просто быть проще, то можно предположить , что в случае букв не имеет значения, до тех пор , как случаи симметричны , что означает:
a=A, b=B, etc
.Каждый возможный выход должен иметь ненулевую вероятность появления. Случайное распределение не должно быть равномерным.
пример
Вход : 8
Выход :
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