Usando uma linguagem de programação, escreva 5 programas de linha única, cada um com uma linha diferente do primeiro verso da música " Coconut ", de Harry Nilsson, em 1972, quando executada individualmente:
O irmão comprou um coco, ele comprou por um centavo
A irmã dele teve outro, ela pagou por um limão
Ela colocou o limão no coco, ela bebeu os dois
Ela colocou o limão no coco, ela bebeu os dois
Ela coloque o limão no coco, ela bebeu os dois
( letra completa )
As últimas 3 linhas têm a mesma letra, então seus últimos 3 programas também podem ser.
Existem 5 fatores ou 120 maneiras pelas quais esses 5 programas de linha única podem ser organizados um por linha em um único programa de 5 linhas. Você deve otimizar seus programas de linha única para que, para o maior número possível de 120 combinações, o programa de 5 linhas produza o verso inteiro na ordem correta , exatamente como aparece acima.
Exemplo
A resposta mais simples teria 5 declarações de impressão de linha única, as 3 últimas idênticas:
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')
A saída para os programas de 5 linhas será o verso em sua ordem correta, desde que os dois primeiros liners individuais estejam em seus lugares corretos. Somente 6 dos 120 arranjos possíveis conseguem isso.
Pontuação
A finalização com os casos mais úteis de todas as 120 vitórias. O desempatador vai para o conjunto de programas com a menor contagem cumulativa de bytes (novas linhas não contadas). O exemplo tem 309 bytes.
Detalhes
Seus programas podem não ler seu próprio código-fonte. Nem devem ler outros arquivos externos ou exigir uma conexão de rede.
Saída para stdout ou alternativa mais próxima. Você também pode enviar para um arquivo com o nome de sua escolha.
"Programas de linha única" são cadeias que contêm caracteres, exceto terminadores de linha (você provavelmente precisará se preocupar com novas linhas).
Ao compor os liners únicos nos 5 liners, você deve adicionar exatamente 4 novas linhas, uma entre cada par adjacente. Opcionalmente, você pode adicionar uma nova linha à direita.
main
método? Então, qual deve ser executado, ao executar o programa?
main
.