Schreiben Sie mit einer Programmiersprache 5 einzeilige Programme, von denen jedes eine andere Zeile des ersten Verses zu Harry Nilssons 1972er Song " Coconut " ausgibt, wenn es einzeln ausgeführt wird:
Bruder eine Kokosnuss gekauft, er kaufte es für einen Cent
Seine Schwester ein anderes hatte sie bezahlt sie für einen Kalk
Sie den Kalk in die Kokosnuss setzen, sie trank sie beide bis
Sie den Kalk in die Kokosnuss setzen, sie trank sie beide bis
sie legte die Limette in die Kokosnuss, sie trank sie beide aus
Die letzten 3 Zeilen haben den gleichen Text, also könnten auch Ihre letzten 3 Programme sein.
Es gibt 5 faktorielle oder 120 Möglichkeiten, wie diese 5 einzeiligen Programme in einem einzelnen 5-zeiligen Programm pro Zeile angeordnet werden können. Sie müssen Ihre einzeiligen Programme so optimieren, dass das 5-zeilige Programm für möglichst viele dieser 120 Kombinationen den gesamten Vers in der richtigen Reihenfolge ausgibt , genau wie oben angegeben.
Beispiel
Die einfachste Antwort hätte 5 einzeilige Druckanweisungen, die letzten 3 sind identisch:
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')
Die Ausgabe an die 5-Zeilen-Programme erfolgt in der richtigen Reihenfolge, solange sich die ersten beiden Einzeiler an der richtigen Stelle befinden. Nur 6 der 120 möglichen Anordnungen erreichen dies.
Wertung
Die Einreichung mit den meisten Arbeitsfällen von allen 120 gewinnt. Tie - Break an den Satz von Programmen mit dem niedrigsten kumulativen geht Byteanzahl (Zeilenumbrüche nicht gezählt). Das Beispiel hat 309 Bytes.
Einzelheiten
Ihre Programme lesen möglicherweise keinen eigenen Quellcode. Sie sollten auch keine anderen externen Dateien lesen oder eine Netzwerkverbindung benötigen.
Ausgabe an Standard oder nächstgelegene Alternative. Sie können auch in eine Datei mit dem Namen Ihrer Wahl ausgeben.
"Einzeilige Programme" sind Zeichenfolgen, die alle Zeichen außer Zeilenendezeichen enthalten (Sie müssen sich wahrscheinlich nur um Zeilenumbrüche kümmern).
Wenn Sie die Single-Liner zu 5-Liner zusammensetzen, sollten Sie genau 4 Newlines hinzufügen, eine zwischen jedem benachbarten Paar von Single-Liner. Sie können optional einen nachgestellten Zeilenumbruch hinzufügen.
main
Methode habe? Was sollte dann ausgeführt werden, wenn das Programm ausgeführt wird?
main
.