Come tutti sappiamo, i limerick sono brevi poesie a cinque righe, occasionalmente oscene, con uno schema in rima AABBA e un metro arazzoico (qualunque cosa sia):
Scrivere l'assurdo Limerick
Riga 1 e riga 5 rima in parola
E proprio come hai calcolato
Hanno rima con il secondo
La quarta riga deve rima con il terzo
Hai il compito di scrivere il programma più breve che, quando viene inviato un testo di input, stampa se ritiene che l'input sia un limerick valido. L'input può essere sulla riga di comando o tramite input standard, a tua scelta, e l'output potrebbe essere un semplice "Y" / "N" o un punteggio di confidenza, sempre a tua scelta.
Ecco un altro esempio di un limerick corretto:
C'era una giovane donna i cui occhi
erano unici per quanto riguarda il colore e le dimensioni
Quando li ha spalancati,
tutti si sono allontanati
e sono partiti con sorpresa
Ma la poesia che segue è chiaramente non è un limerick, dal momento che non rima:
C'era un vecchio di St. Bees
che era stato punto nel braccio da una vespa.
Alla domanda "Fa male?"
Lui rispose: "No, non è così,
sono così felice che non fosse un calabrone."
Né è questo, poiché lo strumento è tutto sbagliato:
Ho sentito parlare di un uomo di Berlino
che odiava la stanza in cui si trovava
Quando gli chiesi perché
avrebbe dovuto dire con un sospiro:
"Bene, vedi, ieri sera c'erano un paio di teppisti che stavano celebrando gli Orsi vincendo i maledetti World Cup, ed erano davvero rumorosi, quindi non potevo dormire a causa del frastuono ".
indizi
Ecco alcuni degli indizi che potresti utilizzare per decidere se il tuo input è un limerick:
- I limerick sono sempre lunghi cinque righe.
- Le righe 1, 2 e 5 dovrebbero far rima.
- Le righe 3 e 4 dovrebbero far rima.
- Le righe 1, 2 e 5 hanno circa 3x3 = 9 sillabe, mentre la terza e la quarta hanno 2x3 = 6 sillabe
Nota che nessuno di questi, tranne il primo, è duro e veloce: una valutazione della correttezza del 100% è impossibile.
Regole
La tua voce dovrebbe almeno classificare correttamente gli esempi da 1 a 3 in modo deterministico.
Si è permesso usare qualsiasi linguaggio di programmazione che si desidera, ad eccezione dei linguaggi di programmazione naturalmente studiati appositamente per questo concorso (vedi qui ).
Non è consentito utilizzare alcuna libreria tranne le offerte standard del proprio linguaggio di programmazione.
Si è permesso di pensare che questo file , il dizionario pronuncia CMU Sphinx, è in un file chiamato 'c' nella directory corrente.
Siete non autorizzati a hard-code per gli ingressi di prova: il programma dovrebbe essere un classificatore generale Limerick.
Si è autorizzati a supporre che l'ingresso è ASCII, senza alcuna formattazione speciale (come negli esempi), ma il programma non deve essere confusa con nell'interpunzione.
bonus
Sono disponibili i seguenti bonus:
- Il tuo programma emette il suo risultato come un limerick? Sottrai un bonus di 150 caratteri !
- Il tuo programma identifica anche correttamente i sonetti? Sottrai un bonus extra di 150 caratteri !
- Il tuo programma genera il suo risultato come sonetto quando utilizzato su un sonetto? Sottrai un bonus di lunghezza extra di 100 caratteri !
Infine...
Ricorda di indicare quali bonus ritieni di meritare, se presenti, e di sottrarre il bonus dal tuo numero di personaggi per arrivare al tuo punteggio. Questa è una gara di golf in codice : vince l'entrata più breve (ovvero l'entrata con il punteggio più basso).
Se hai bisogno di ulteriori dati di test (positivi), controlla l' OEDILF o il Libro delle sciocchezze . I dati dei test negativi dovrebbero essere facili da costruire.
In bocca al lupo!
code-challenge
dovuto ai bonus. Si prega di leggere le descrizioni dei tag