introduzione
Una chiusura palindromica di una stringa di input è il palindromo più corto che può essere costruito dalla stringa di input in cui il palindromo finale inizia con la stringa di input.
Per questa sfida, considereremo una chiusura palindromica a due vie tale che
- La chiusura palindromica sinistra di una stringa di input è il palindromo più breve possibile che inizia con la stringa di input.
- La chiusura palindromica destra di una stringa di input è il palindromo più breve possibile che termina con la stringa di input.
- La chiusura palindromica bidirezionale di una stringa di input è la più breve tra la chiusura palindromica sinistra o destra della stringa di input.
Compito
Il tuo compito è semplice. Data una stringa (composta solo da ASCII stampabile, nuove linee e spazi bianchi), genera la chiusura palindromica bidirezionale di quella stringa. In caso di pareggio, le chiusure palindromiche sinistra o destra sono valide.
È possibile scrivere un programma o una funzione, prendendo l'input tramite STDIN (o l'alternativa più vicina), l'argomento della riga di comando o l'argomento della funzione e stampando il risultato su STDOUT (o l'alternativa più vicina) o restituendolo come stringa.
Si può presumere che l'input non sarà mai una stringa vuota.
Alcuni esempi:
<Input> -> <Output>
"abcdef" -> "abcdefedcba" (or "fedcbabcdef")
"abcba" -> "abcba"
"abcb" -> "abcba"
"cbca" -> "acbca"
Il credito iniziale dell'idea va a VisualMelon, idea finale con l'aiuto di Martin e Zgarb
I termini chiusura palindromica, chiusura pallindromica sinistra e chiusura palindromica destra sono stati inizialmente utilizzati e definiti da questo documento .