Decifrare Neurotic Frogs
Ora che Puzzling.SE ha finalmente violato il mio codice ossessionato dagli anfibi , scriviamo un programma o una funzione per decifrarlo!
(Se vuoi guardare il puzzle prima di averlo viziato, fai clic sul link sopra ora).
Come funziona la cifra
In nevrotica Rane O effettuato l 'acquisto Per Rel una x in M ud Bagni ( "Neurotic Rane" per brevità), ogni lettera è crittografato come uno o due parole:
- La lunghezza di una parola non in corsivo rappresenta una lettera.
neurotic
=> 8 lettere =>H
frogs
=> 5 lettere =>E
perpendicular
=> 13 lettere =M
- Una parola che contiene corsivo modifica la parola seguente, aggiungendo 10 se la parola in corsivo era di lunghezza dispari o 20 se la parola in corsivo era di lunghezza pari. Qualsiasi parola o parte di essa può essere in corsivo. Una parola in corsivo è sempre seguita da una parola non in corsivo.
*o*ught to
=> dispari, 2 => 12 =>L
lo*u*nging calms
=> pari, 5 => 25 =>Y
Ogni parola di testo in chiaro corrisponde a una frase di testo cifrato e ogni frase di testo in chiaro corrisponde a un paragrafo di testo cifrato.
Formato di input
Il tuo programma o funzione deve inserire un messaggio in Neurotic Frogs, formattato in Markdown. L'input consisterà solo di ASCII e newline stampabili.
- Le parole sono sequenze di caratteri che corrispondono alla regex
[A-Za-z0-9']
.- Numeri e lettere contano entrambi per la lunghezza di una parola.
QB64
rappresentaD
. - NOTA: gli apostrofi non contano per la lunghezza di una parola.
Isn't
rappresentaD
, noE
.
- Numeri e lettere contano entrambi per la lunghezza di una parola.
- Le lettere in corsivo sono racchiuse in una coppia di asterischi (
*letters*
).- Una o più lettere consecutive possono essere in corsivo, fino a un'intera parola (
masseus*es*
,*all*
); più lettere non consecutive in una parola possono anche essere in corsivo (g*e*n*e*rates
). - Il corsivo non comprende mai più parole, non include mai la punteggiatura e non include mai apostrofi.
- Non si verificheranno mai asterischi spaiati e asterischi multipli adiacenti.
- Una o più lettere consecutive possono essere in corsivo, fino a un'intera parola (
- La punteggiatura è uno dei seguenti caratteri:
.,?!:;-()"
.- Le parole all'interno di una frase sono separate da uno o più caratteri di punteggiatura e / o un singolo spazio. Esempi:
*all* welcomed
,toad*s*, newts
,Ever*y*one--frogs
,cap... bliss
,they're (I
- Le frasi terminano con uno o più caratteri di punteggiatura e sono separate da un doppio spazio:
Th*e* Montgomery A*m*phibian Salon! Come luxuriate today!
- I paragrafi sono separati da un'unica riga. (L'ultima frase di un paragrafo ha ancora uno o più caratteri di punteggiatura alla fine.)
- Le parole all'interno di una frase sono separate da uno o più caratteri di punteggiatura e / o un singolo spazio. Esempi:
Altri caratteri non verranno visualizzati nell'input e non è necessario gestirli.
Il tuo codice può, a tua discrezione, prevedere che l'input abbia una sola nuova riga finale.
Formato di output
Il risultato della decodifica dell'input sarà una o più frasi. Le lettere di testo in chiaro possono essere qualsiasi combinazione di lettere maiuscole e minuscole. Le parole all'interno di una frase devono essere separate da spazi singoli. Le frasi devono terminare con un punto ( .
) ed essere separate da un singolo spazio. È possibile generare uno spazio finale dopo l'ultima frase. Il tuo output sarà tutto su una riga, ma potresti generare una nuova riga finale.
Dettagli vari
Il codice può utilizzare uno dei metodi di input e output standard. Deve ricevere input come una stringa multilinea, non un elenco o altra struttura di dati e deve generare una stringa.
Vince il codice più breve in byte!
Casi test
-->
Neurotic Frogs *O*ught To Rel*a*x In *M*ud Baths!
<--
HELLO.
-->
Business standards all*o*w only *adult* amphibians.
<--
HINT.
-->
Rejoice, *a*ll frogs an*d* toads also! Montgomery Sal*o*n opens up! Ha*pp*y throng fill*s* street ecstatically!
<--
GOOD JOB PPL.
-->
I like 3.1415926535897.
IM*O*, it's a *b*la*st*, yeah!
<--
ADAM. MAN.
-->
*I*, happily, *th*anks 2 u *e*ditin*g* specific wor*ding*--clarifying a *bit*--betterment :D!
<--
QUARTATA.
-->
Perpendicular l*ou*nging calms. *A* frog, a m*u*d cap... bliss! Wallowing g*e*n*e*rates happiness. Amphibian sp*a* isn't expensive--seventy d*o*llars--cheap! That'*s* not *a* large e*x*pens*e* from an*y* discerning fr*o*g's money, unlik*e* Super 8.
Ever*y*one--frogs, toad*s*, newts, *a*nd salamanders! G*e*t a wonderful shiat*s*u, or recei*v*e an other kind. Masseus*es* are her*e* today! Invite a fianc*e*e, supervisor, roommate, niece: *all* welcomed!
Y*o*u simply ne*v*er believed these p*o*ssibilitie*s*; they're (I *swear*) absolute truth! Th*e* Montgomery A*m*phibian Salon! Come luxuriate today!
<--
MY NAME IS INIGO MONTOYA. YOU KILLED MY FATHER. PREPARE TO DIE.