từ chối trách nhiệm: Tôi không biết về bất kỳ giải pháp không bruteforce nào
Một hình vuông Graeco-Latin là, cho hai bộ có cùng độ dài , cách sắp xếp các ô , mỗi ô chứa một cặp duy nhất (trên toàn bộ hình vuông) của một phần tử của tập thứ nhất và một phần tử của tập thứ hai, chẳng hạn rằng tất cả các yếu tố đầu tiên và tất cả các yếu tố thứ hai của các cặp là duy nhất trong hàng và cột của chúng. Các bộ phổ biến nhất được sử dụng là, như người ta có thể đoán, chữ cái đầu tiên của bảng chữ cái Hy Lạp và Latin.
Dưới đây là hình ảnh của một hình vuông Graeco-Latin:
Hình vuông Graeco-Latin hữu ích như âm thanh của chúng ( bài viết trên Wikipedia đề cập đến "thiết kế thí nghiệm, lên lịch thi đấu và xây dựng các ô vuông ma thuật"). Nhiệm vụ của bạn là, đưa ra một số nguyên dương , để tạo ra một vuông Graeco-Latinh.
Đầu vào
Một số nguyên dương ; nó được đảm bảo rằng một Graeco-Latin vuông tồn tại (có nghĩa là, ).
Đầu ra
Một hình vuông Graeco-Latin có độ dài cạnh n là một mảng hai chiều, một mảng các mảng, một mảng được làm phẳng hoặc xuất trực tiếp.
Ghi chú
- Bạn không phải sử dụng bảng chữ cái Hy Lạp và Latinh cụ thể; ví dụ, xuất ra các cặp số nguyên dương cũng được cho phép.
- Nếu bạn chọn sử dụng một bảng chữ cái không thể được mở rộng tùy ý, bạn phải (về mặt lý thuyết; mã của bạn không phải hoàn thành trước cái chết nhiệt của vũ trụ) hỗ trợ chiều dài tối đa ít nhất là 20.
Đây là môn đánh gôn , vì vậy đoạn mã ngắn nhất sẽ thắng!