Đối với thử thách này, bạn sẽ tạo một hàm (hàm của bạn có thể là một chương trình hoàn chỉnh) lấy một danh sách làm đầu vào và trả về một hoán vị của danh sách đó. Chức năng của bạn phải tuân theo các yêu cầu sau.
Nó phải mang tính quyết định.
Kết hợp chức năng của bạn với số lần thay đổi sẽ có khả năng nhận được danh sách cho bất kỳ hoán vị nào của nó.
Đây là một câu hỏi golf-code vì vậy câu trả lời sẽ được tính bằng byte, với ít byte hơn sẽ tốt hơn.
Quy tắc khác
Bạn có thể dùng bất cứ loại danh sách, (
[Integer]
,[String]
,[[Integer]]
) miễn là nó- Có thể không trống
- Có thể chứa các đối tượng riêng biệt với ít nhất 16 giá trị có thể. (Bạn không thể sử dụng Haskell
[()]
và khẳng định chức năng của mình làid
) - Có thể chứa các đối tượng trùng lặp (không có bộ)
Bạn có thể viết một chương trình hoặc một chức năng, nhưng phải tuân theo IO tiêu chuẩn.
next_permutation
hàm.
S_n
chỉ là chu kỳ chon<3