Bu, benzersiz kümeler oluşturan Count dizilerinin bir takibi . Önemli fark, tekliğin tanımıdır.
Bir Auzunluk dizisi düşünün n. Dizi yalnızca pozitif tamsayılar içerir. Örneğin A = (1,1,2,2). f(A)Boş olmayan bitişik alt dizilerin toplamları kümesi olarak tanımlayalım A. Bu durumda f(A) = {1,2,3,4,5,6}. Üretilecek adımlar f(A) aşağıdaki gibidir:
Alt dizileri Avardır (1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2). Onların toplamları 1,1,2,2,2,3,4,4,5,6. Bu nedenle bu listeden aldığınız set {1,2,3,4,5,6}.
Tersine çevrilmiş dizi dışında aynı uzunlukta başka bir dizi yoksa A benzersiz bir dizi çağırırız . Örnek olarak, ancak aynı toplamları üreten başka bir uzunluk dizisi yoktur .Bf(A) = f(B)Af((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}3
Görev
Verilen nve verilen görev, sbu uzunluktaki benzersiz dizilerin sayısını saymaktır. Sen varsayabiliriz sarasındadır 1ve 9. Yalnızca öğelerin belirli bir tamsayı sveya olduğu bir dizi saymanız gerekir s+1. Örneğin s=1, saydığınız diziler yalnızca 1ve içeriyorsa 2. Bununla birlikte, tekliğin tanımı, aynı uzunluktaki diğer herhangi bir diziye göredir. Somut bir örnek olarak [1, 2, 2, 2]bir değil o kadar toplamlarının aynı kümesini verir benzersiz [1, 1, 2, 3].
Bir dizinin tersini ve dizinin kendisini saymalısınız (dizi elbette bir palindrom olmadığı sürece).
Örnekler
s = 1, n = 2,3,4,5,6,7,8,9 için cevaplar:
4, 3, 3, 4, 4, 5, 5, 6
Çünkü s = 1, uzunluk 4'ün benzersiz dizileri
(1, 1, 1, 1)
(2, 1, 1, 2)
(2, 2, 2, 2)
s = 2, n = 2,3,4,5,6,7,8,9 için cevaplar:
4, 8, 16, 32, 46, 69, 121, 177
Benzersiz olmayan bir diziye örnek s = 2:
(3, 2, 2, 3, 3, 3).
Bu, her ikisiyle de aynı toplamlara sahiptir: (3, 2, 2, 2, 4, 3)ve (3, 2, 2, 4, 2, 3).
s = 8, n = 2,3,4,5,6,7,8,9 için cevaplar:
4, 8, 16, 32, 64, 120, 244, 472
Puan
Belirli için n, kodunuz tüm değerleri için çıkış cevabı gerektiği sdan 1için 9. Skorunuz bunun nbir dakika içinde tamamladığı en yüksek değerdir .
Test yapmak
Kodunuzu ubuntu makinemde çalıştırmam gerekecek, bu nedenle kodunuzu nasıl derleyeceğiniz ve çalıştıracağınız için lütfen mümkün olduğunca ayrıntılı talimatlar ekleyin.
Liderler Sıralaması
- n = 13 , Haskell'deki Christian Sievers tarafından (42 saniye)
s? Neyi temsil ediyor?