Thử thách
Viết chương trình hoặc hàm trả về hoặc in ma trận đối xứng vuông ngẫu nhiên.
Đầu vào
N : Kích thước của ma trận tức là6 x 6
Đầu ra
Ma trận. Bạn có thể in nó, trả về dưới dạng chuỗi (với dòng mới) hoặc dưới dạng danh sách / mảng danh sách / mảng.
Quy tắc
Bạn cần sử dụng ít nhất
N
các ký tự khác nhau,N
kích thước của ma trận vuông (đầu vào) là bao nhiêu. Kể từ khi chúng tôi 'tái sử dụng chỉ thư [a, z] [A, Z] và chữ số [0, 9] (và chỉ có 1 chữ số vào thời điểm đó), bạn có thể giả định rằngN < 27
vàN > 2
, đó là bởi vì tạiN <= 2
bạn không thể có cả chữ và chữ số. Cuối cùng nhưng không kém phần quan trọng, mỗi chữ cái / chữ số phải có xác suất xảy ra khác không (phân phối đồng đều không phải là một điều cần thiết). Tuy nhiên, kết quả phải có ít nhấtN
các chữ cái / chữ số khác nhau.Ma trận phải đối xứng cả theo chiều ngang và chiều dọc.
Chính xác là 2 hàng và 2 cột phải chứa đúng một số có một chữ số (vị trí của nó cũng phải ngẫu nhiên). Phần còn lại của hàng / cols sẽ chỉ chứa các chữ cái. Hãy xem xét các chữ cái là [a, z] và [A, Z] và tất nhiên là các số có một chữ số là [0, 9].
Để dễ dàng hơn, bạn có thể giả sử rằng trường hợp của các chữ cái không thành vấn đề, miễn là các trường hợp đối xứng có nghĩa là :
a=A, b=B, etc
.Mỗi đầu ra có thể phải có xác suất xảy ra khác không. Phân phối ngẫu nhiên không cần phải thống nhất.
Thí dụ
Đầu vào : 8
Đầu ra :
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