Mi tarea es escribir un ensayo marciano (ver abajo) entre 729 y 810 palabras, inclusive. Su tarea es escribir un programa que generará el ensayo.
Historia
A principios del siglo XX, la espiritualista Catherine-Elise Müller presuntamente se comunicó con los marcianos. Durante los trances somnambulatorios, ella escribía guiones marcianos. El psicólogo Théodore Flourney descubrió que sus escritos marcianos eran muy similares a su francés nativo, y en su libro "De la India al planeta Marte", documentó el alfabeto marciano de Catherine.
Lo siguiente se basa libremente en ese alfabeto con un mito extendido.
Descripción del problema
El idioma marciano tiene 21 letras, que se muestran aquí al lado de cada equivalente latino:
Desafortunadamente, no hay Unicode para Martian (a pesar de que Marte es parte del universo), por lo que estamos atrapados usando caracteres latinos.
Mientras que en inglés nuestros fonemas se dividen en dos tipos principales (consonantes / vocales) que asignamos libremente a las letras, Martian tiene tres tipos de letras:
- Las vocales: aeimnou
- Las consonantes duras: bcdgkpt
- Las consonantes suaves: fhlrsvz
Además de esto, el idioma marciano contiene un único signo de puntuación: el punto.
Una palabra marciana es un conjunto de 3 a 9 letras. Todas las palabras marcianas tienen al menos una vocal, una consonante dura y una consonante suave (en cualquier disposición). Por ejemplo, fng, cdaz, vpi, y pascalson palabras de Marte.
Una oración marciana es un conjunto de 3 a 9 palabras marcianas delimitadas por espacios y seguidas de un punto.
Un párrafo marciano es un conjunto de 3 a 9 oraciones marcianas delimitadas por espacios y seguidas de una nueva línea.
Un ensayo marciano es una colección de párrafos marcianos que no contiene repeticiones de palabras contiguas.
Una repetición de palabras contiguas es cualquier construcción SS donde S es un conjunto de palabras contiguas. Tenga en cuenta que esta definición ignora los límites de las oraciones y los párrafos.
Ejemplos
Tenga en cuenta: hay una nueva línea final después de cada ejemplo (ya que todos los párrafos marcianos terminan en una nueva línea)
Ensayo no marciano
lorem ipsum dolor sentarse amet. quis nostrud exercitation ullamco laboris.
...por muchos motivos. Este ejemplo es para ilustrar algunas reglas diversas:
- lorem no es una palabra marciana porque no tiene consonantes duras.
- amet no es una palabra marciana porque no tiene consonantes suaves. (
mes una vocal marciana). - quis no es una palabra marciana porque no tiene consonantes duras
- quis no es una palabra marciana porque q no es una letra marciana
- la ejercitación no es una palabra marciana porque tiene más de 9 letras
- la ejercitación no es una palabra marciana porque x no es una letra marciana
Ensayo marciano
fng cdaz vpi. Pascal rompió lo básico. los popplers saben muy bien.
... porque es un párrafo marciano. El párrafo marciano contiene tres oraciones marcianas.
Ensayo no marciano
fng cdaz vpi. Pascal rompió lo básico. reglas pascales gratis.
... ya free pascal rules.que no es una oración marciana, porque freetampoco lo rulesson las palabras marcianas, porque no tienen consonantes duras.
Ensayo marciano
fng cdaz vpi. Pascal rompió lo básico. los popplers saben muy bien. cdaz vpi fng. descansos basicos pascal. los popplers golpean fuerte. fng cdaz vpi.
... que contiene dos párrafos marcianos. La oración fng cdaz vpi.aparece dos veces, pero eso está perfectamente bien.
Ensayo no marciano
popplers gusto fng. cdaz vpi pascal. rompió fng cdaz vpi. Pascal rompió planetas omicron. Asusta a las cabras básicas. vpi piv vpi.
... porque la construcción fng. cdaz vpi pascal. broke fng cdaz vpi. [nl] pascal brokees una repetición de palabras contiguas.
Reto
Su desafío es escribir una función o programa que no acepte ninguna entrada, lo que produce como salida mi tarea; es decir, su programa debe generar un ensayo marciano entre 729 y 810 palabras (inclusive). Tenga en cuenta que el resultado de su programa debe ser un ensayo marciano válido, pero no tiene que generarlo de forma aleatoria o diferente cada vez. Todo lo que haga para generar un ensayo marciano válido cuenta.
He escrito un programa en C ++ para verificar los ensayos que puedes usar.
Este es el código de golf. El código más corto en bytes gana. Lagunas estándar no permitidas.
