Streszczenie wykonawcze
Biorąc pod uwagę wejście kznajdziesz partycję liczb całkowitych 1, aby ndo kSUM-wolny podzbiorów dla największych nmożna w ciągu 10 minut.
Tło: liczby Schur
Zestaw Ajest sum, jeśli jego suma A + A = { x + y | x, y in A}nie ma z nim żadnych wspólnych elementów.
Dla każdej dodatniej liczby całkowitej kistnieje największa liczba całkowita, S(k)dzięki czemu zestaw {1, 2, ..., S(k)}można podzielić na kpodzbiory bez sum. Ten numer nazywa się k- tym numerem Schura (OEIS A045652 ).
Na przykład S(2) = 4. Możemy podzielić {1, 2, 3, 4}jako{1, 4}, {2, 3} , i jest to unikalny podział na dwa podzbiory bez sumy, ale nie możemy teraz dodać żadnego 5z nich.
Wyzwanie
Napisz program deterministyczny, który wykonuje następujące czynności:
- Weź dodatnia
kjako wejście - Zapisz aktualny znacznik czasu Unix na standardowe wyjście
- Wysyła sekwencję partycji
1donwkpodzestawy bez sumy w celu zwiększenian, po każdej sekwencji z bieżącym znacznikiem czasu Unix.
Zwycięzcą zostanie program, który wydrukuje partycję największej nw ciągu 10 minut na moim komputerze po otrzymaniu danych wejściowych 5. Więzy zostaną zerwane przez najszybszy czas na znalezienie partycji dla największej n, uśrednionej dla trzech przebiegów: dlatego dane wyjściowe powinny zawierać znaczniki czasu.
Ważne szczegóły:
- Mam Ubuntu Precise, więc jeśli twój język nie jest obsługiwany, nie będę mógł go ocenić.
- Mam czterordzeniowy procesor Intel Core2, więc jeśli chcesz korzystać z wielowątkowości, nie ma sensu używać więcej niż 4 wątków.
- Jeśli chcesz, żebym użył konkretnych flag kompilatora lub implementacji, udokumentuj to wyraźnie w swojej odpowiedzi.
- Nie będziesz specjalnie kodować swojego kodu do obsługi danych wejściowych
5. - Nie musisz przedstawiać każdej znalezionej poprawy. Np. Dla danych wejściowych
2można wyprowadzić tylko partycjęn = 4. Jeśli jednak nie wyprowadzisz niczego w ciągu pierwszych 10 minut, zdobędę to jakon = 0.
n=59i sortowanie według największej liczby dozwolonych liczb mniejszej niżnextNdajen=64. Sortowanie według długości niedozwolonej listy numerów (która może zawierać powtórzenia) prowadzi bardzo szybko do eleganckiegon=30wzoru.