To pytanie ma podobny zestaw, aby znaleźć tablicę, która pasuje do zestawu sum, chociaż ma zupełnie inne cele.
Rozważ tablicę Adługości n. Tablica zawiera tylko dodatnie liczby całkowite. Na przykład A = (1,1,2,2). Zdefiniujmy f(A)jako zbiór sum wszystkich niepustych, sąsiadujących pod-macierzy A. W tym przypadku f(A) = {1,2,3,4,5,6}. Kroki do produkcji f(A) są następujące:
Podziemne Asą (1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2). Ich odpowiednie kwoty to 1,1,2,2,2,3,4,4,5,6. Zestaw, który otrzymujesz z tej listy, to dlatego {1,2,3,4,5,6}.
Tablicę nazywamy A unikalną, jeśli nie ma innej tablicy Bo takiej samej długości f(A) = f(B), z wyjątkiem Aodwróconej tablicy . Na przykład, f((1,2,3)) = f((3,2,1)) = {1,2,3,5,6}ale nie ma innej tablicy długości, 3która generowałaby ten sam zestaw sum.
Rozważymy tylko tablice, w których elementy są albo liczbą całkowitą, salbo s+1. Np. Jeśli s=1tablice zawierają tylko 1i 2.
Zadanie
Zadaniem dla danego ni sjest policzenie liczby unikalnych tablic o tej długości. Możesz założyć, że sjest pomiędzy 1i 9.
Nie należy liczyć odwrotności tablicy, a także samej tablicy.
Przykłady
s = 1, odpowiedź brzmi zawsze n+1.
s = 2, odpowiedzi liczone od n = 1góry to:
2,3,6,10,20,32,52,86
s = 8, odpowiedzi liczone od n = 1góry to:
2,3,6,10,20,36,68,130
Wynik
W przypadku danego nkodu kod powinien wyświetlać odpowiedź dla wszystkich wartości sod 1do 9. Twój wynik jest najwyższą wartością, nktórej wypełnienie następuje w ciągu jednej minuty.
Testowanie
Będę musiał uruchomić Twój kod na moim komputerze z Ubuntu, więc podaj możliwie szczegółowe instrukcje dotyczące tego, jak skompilować i uruchomić kod.
Tabela liderów
- n = 24 autorstwa Andersa Kaseorga w Rust (34 sekundy)
- n = 16 przez Ourous in Clean (36 sekund)
- n = 14 według JRowan w Common Lisp (49 sekund)