Meydan okuma
Belirli bir n tamsayı kümesi için, sözlükbilim dizinini çıkaracak bir program yazın.
Kurallar
- Giriş yalnızca boşluklarla ayrılmış benzersiz negatif olmayan tamsayılar kümesi olmalıdır.
- Permütasyonun sözlükbilimsel indeksini (0 ila n! -1 dahil) çıkarmalısınız.
- Permütasyon kütüphaneleri veya permütasyon yerleşikleri kullanılamaz.
- Dizini bulmanıza yardımcı olması için permütasyonlar kümesini veya girdinin herhangi bir permütasyon alt kümesini oluşturamazsınız.
- Ayrıca verilen permütasyonu sonraki / önceki (sözlükbilimsel) permütasyona artıramaz veya azaltamazsınız.
- Faktörleri kullanmadan bunu tamamlamanın bir yolunu bulursanız bonus puanları (-10 bayt).
- N = 100 için çalışma süresi 1 dakikadan az olmalıdır
- En kısa kod bayt sayısı kazanır
- Kazanan 22 Temmuz 2014 Salı günü seçildi
Permütasyonlar Hakkında Daha Fazla Bilgi
- http://www.monkeyphysics.com/articles/read/26/numbering_permutations.html
- Permütasyon grubu işlemi
- http://lin-ear-th-inking.blogspot.com/2012/11/enumerating-permutations-using.html
Örnekler
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