Assemblage récursif d’un palindrome à partir de sous-chaînes
Rust
Hard
functions
Tâche «Assemblage récursif d’un palindrome à partir de sous-chaînes»
Soit une chaîne S composée de lettres latines minuscules. Il faut découper récursivement (à l’aide d’une fonction) la chaîne initiale en un nombre minimal de sous-chaînes palindromiques (chaque sous-chaîne doit être un palindrome) et les afficher séparées par un espace. Si le découpage est impossible (par exemple, la chaîne est vide), afficher "NO". Contraintes : longueur de S de 1 à 1000 caractères. Il est garanti qu’une réponse existe.
Format d\ entrée
Une seule chaîne S (1 ≤ |S| ≤ 1000).
Format de sortie
Une chaîne contenant les sous-chaînes palindromiques séparées par un espace. Si la chaîne d’entrée est vide, afficher "NO".
Exemples
Exemple 1
ENTRÉE
racecar
SORTIE
racecar
Exemple 2
ENTRÉE
aab
SORTIE
aa b
main.rs