Các thách thức
Đối với một tập hợp n số nguyên cho trước, hãy viết chương trình sẽ xuất ra chỉ số từ điển của nó.
Những quy định
- Đầu vào chỉ phải là một tập hợp các số nguyên không âm duy nhất được phân tách bằng dấu cách.
- Bạn nên xuất chỉ số từ vựng (bao gồm từ 0 đến n! -1) của hoán vị.
- Không có thư viện hoán vị hoặc tích hợp hoán vị có thể được sử dụng.
- Bạn không được tạo tập hợp hoán vị hoặc bất kỳ tập hợp hoán vị đầu vào nào để giúp bạn tìm chỉ mục.
- Bạn cũng không thể tăng hoặc giảm hoán vị đã cho thành hoán vị tiếp theo / trước đó (theo từ vựng).
- Điểm thưởng (-10 byte) nếu bạn tìm ra cách nào đó để hoàn thành việc này mà không cần sử dụng giai thừa.
- Thời gian chạy nên ít hơn 1 phút cho n = 100
- Mã ngắn nhất theo số byte thắng
- Người chiến thắng được chọn vào thứ ba (ngày 22 tháng 7 năm 2014)
Thêm về hoán vị
- http://www.monkeyphysics.com/articles/read/26/numbering_permutations.html
- Hoạt động nhóm hoán vị
- http://lin-ear-th-inking.blogspot.com/2012/11/enumerating-permutations-USE.html
Ví dụ
0 1 2 --> 0
0 2 1 --> 1
1 0 2 --> 2
1 2 0 --> 3
2 0 1 --> 4
2 1 0 --> 5
0 1 2 3 4 5 6 7 --> 0
0 1 2 3 4 5 7 6 --> 1
0 1 2 3 4 6 5 7 --> 2
1 3 5 17 --> 0
781 780 779 13 --> 23
81 62 19 12 11 8 2 0 --> 40319
195 124 719 1 51 6 3 --> 4181