Bu, benzersiz kümeler oluşturan Count dizilerinin bir takibi . Önemli fark, tekliğin tanımıdır.
Bir A
uzunluk 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 A
vardı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 .B
f(A) = f(B)
A
f((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}
3
Görev
Verilen n
ve verilen görev, s
bu uzunluktaki benzersiz dizilerin sayısını saymaktır. Sen varsayabiliriz s
arasındadır 1
ve 9
. Yalnızca öğelerin belirli bir tamsayı s
veya olduğu bir dizi saymanız gerekir s+1
. Örneğin s=1
, saydığınız diziler yalnızca 1
ve 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 s
dan 1
için 9
. Skorunuz bunun n
bir 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?