Rekursive Palindromzerlegung aus Teilzeichenfolgen
Rust
Hard
functions
Aufgabe «Rekursive Palindromzerlegung aus Teilzeichenfolgen»
Gegeben ist eine Zeichenkette S, bestehend aus Kleinbuchstaben des lateinischen Alphabets. Es ist erforderlich, die ursprüngliche Zeichenkette rekursiv (unter Verwendung einer Funktion) in eine minimale Anzahl von Palindrom-Teilzeichenfolgen (jede Teilzeichenfolge muss ein Palindrom sein) zu zerlegen und diese durch Leerzeichen getrennt auszugeben. Wenn die Zerlegung unmöglich ist (z. B. wenn die Zeichenkette leer ist), geben Sie "NO" aus. Einschränkungen: Länge von S von 1 bis 1000 Zeichen. Es wird garantiert, dass eine Antwort existiert.
Eingabeformat
Eine Zeichenkette S (1 ≤ |S| ≤ 1000).
Ausgabeformat
Eine Zeichenkette, die die Palindrom-Teilzeichenfolgen enthält, getrennt durch ein Leerzeichen. Wenn die Eingabezeichenkette leer ist, geben Sie "NO" aus.
Beispiele
Beispiel 1
EINGABE
racecar
AUSGABE
racecar
Beispiel 2
EINGABE
aab
AUSGABE
aa b
main.rs