Usando un lenguaje de programación, escriba 5 programas de una sola línea, cada uno de los cuales genera una línea diferente del primer verso de la canción de 1972 de Harry Nilsson " Coconut " cuando se ejecuta individualmente:
Hermano compró un coco, lo compró por un centavo.
Su hermana tenía otro, ella lo pagó por una lima
. Puso la lima en el coco, se los bebió a los dos
. Puso la lima en el coco, se los bebió a los dos.
Ella puso la lima en el coco, ella los bebió a ambos
( letra completa )
Las últimas 3 líneas tienen la misma letra, por lo que sus últimos 3 programas también podrían serlo.
Hay 5 factores o 120 formas en que estos 5 programas de una sola línea se pueden organizar uno por línea en un solo programa de 5 líneas. Debe optimizar sus programas de una sola línea de modo que para la mayor cantidad posible de estas 120 combinaciones, el programa de 5 líneas muestre todo el verso en su orden correcto , exactamente como aparece arriba.
Ejemplo
La respuesta más simple tendría 5 declaraciones de impresión de una sola línea, las últimas 3 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')
La salida a los programas de 5 líneas será el verso en su orden correcto siempre que los dos primeros trazos estén en sus lugares correctos. Solo 6 de los 120 arreglos posibles logran esto.
Puntuación
La presentación con la mayoría de los casos de trabajo de todas las 120 victorias. El desempate se dirige al conjunto de programas con el recuento de bytes acumulativo más bajo (no se cuentan las nuevas líneas). El ejemplo tiene 309 bytes.
Detalles
Es posible que sus programas no lean su propio código fuente. Tampoco deberían leer otros archivos externos o requerir una conexión de red.
Salida a stdout o alternativa más cercana. También puede enviar a un archivo con el nombre que elija.
Los "programas de una sola línea" son cadenas que contienen caracteres, excepto los terminadores de línea (probablemente solo deba preocuparse por las nuevas líneas).
Al componer las líneas simples en las líneas 5, debe agregar exactamente 4 líneas nuevas, una entre cada par adyacente de líneas simples. Opcionalmente, puede agregar una nueva línea final.
main
método? Entonces, ¿cuál debe ejecutarse al ejecutar el programa?
main
.