Używając jednego języka programowania, napisz 5 programów jednowierszowych, z których każdy wyprowadza inny wiersz pierwszego wiersza do utworu Harry'ego Nilssona „ Coconut ”, uruchamiany indywidualnie:
Brat kupił kokos, kupił go za bilon
Jego siostra miała inny, zapłaciła za wapno
Włożyła wapno do kokosa, wypiła je oboje
Włożyła wapno do kokosa, wypiła je oboje
Ona wrzuć wapno do kokosa, wypiła je oba
( pełne teksty )
Ostatnie 3 wiersze mają te same teksty, więc ostatnie 3 programy mogą być również.
Istnieje 5 silni lub 120 sposobów, w jakie 5 programów jednowierszowych można ułożyć po jednym w wierszu w jednym programie 5-liniowym. Musisz zoptymalizować programy jednowierszowe, tak aby dla jak największej liczby z tych 120 kombinacji program 5-liniowy wypisał cały wiersz we właściwej kolejności , dokładnie tak, jak pokazano powyżej.
Przykład
Najprostsza odpowiedź składałaby się z 5 instrukcji drukowania w jednym wierszu, a 3 ostatnie identyczne:
print('Brother bought a coconut, he bought it for a dime')
print('His sister had another one, she paid it for a lime')
print('She put the lime in the coconut, she drank them both up')
print('She put the lime in the coconut, she drank them both up')
print('She put the lime in the coconut, she drank them both up')
Dane wyjściowe do programów 5-liniowych będą wersetem w odpowiedniej kolejności, o ile pierwsze dwa pojedyncze wiersze znajdują się we właściwych miejscach. Tylko 6 ze 120 możliwych uzgodnień to osiąga.
Punktacja
Zgłoszenie zawierające najwięcej spraw roboczych ze wszystkich 120 wygranych. Łamacz remisów trafia do zestawu programów o najniższej skumulowanej liczbie bajtów ( znaki nowej linii nie są liczone). Przykład ma 309 bajtów.
Detale
Twoje programy mogą nie czytać własnego kodu źródłowego. Nie powinni też czytać innych plików zewnętrznych ani wymagać połączenia sieciowego.
Wyjście na standardowe wyjście lub najbliższą alternatywę. Możesz również wyprowadzać dane do pliku o wybranej nazwie.
„Programy jednowierszowe” to ciągi znaków, które zawierają dowolne znaki oprócz terminatorów linii (prawdopodobnie będziesz musiał się martwić o znaki nowej linii).
Podczas komponowania pojedynczych linii w 5 liniowych należy dodać dokładnie 4 nowe linie, po jednej między każdą sąsiednią parą pojedynczych linii. Możesz opcjonalnie dodać końcowy znak nowej linii.
mainmetodę? Które następnie należy uruchomić podczas uruchamiania programu?
main.