In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Słowo jest palindromem wtedy i tylko wtedy, gdy nie zmienia się, jeśli czytamy je wspak. Palindrom jest parzysty, gdy ma dodatnią parzystą liczbę liter.
Przykładem parzystego palindromu jest słowo abaaba.
Rozkładem słowa na palindromy parzyste jest jego podział na rozłączne części, z których każda jest palindromem parzystym.
Rozkładami słowa:
bbaabbaabbbaaaaaaaaaaaabbbaana palindromy parzyste są:
bbaabb aabbbaaaaaaaaaaaabbbaaoraz:
bb aa bb aa bb baaaaaaaaaaaab bb aaPierwszy rozkład zawiera najmniejszą możliwą liczbę palindromów, drugi jest rozkładem na maksymalną możliwą liczbę palindromów parzystych. Zauważ, że słowo może mieć wiele różnych rozkładów na palindromy parzyste, albo nie mieć żadnego.
Napisz program, który wczytuje słowo ze standardowego wejścia i bada, czy da się je rozłożyć na palindromy parzyste. Jeśli nie, to zapisuje w standardowym wyjściu tylko jeden wyraz NIE, a jeśli da się rozłożyć, to zapisuje jego rozkłady na minimalną i maksymalną liczbę palindromów parzystych.
Standardowe wejście zawiera jedno słowo złożone z co najmniej 1 i co najwyżej 200 małych liter alfabetu angielskiego, zapisane w jednym wierszu bez odstępów pomiędzy literami. Zakładamy, że dane słowo jest zapisane w standardowym wejściu poprawnie i Twój program nie musi tego sprawdzać.
Standardowe wyjście powinno zawierać:
Dla danych wejściowych:
bbaabbaabbbaaaaaaaaaaaabbbaa
poprawną odpowiedzią jest:
bbaabb aabbbaaaaaaaaaaaabbbaa bb aa bb aa bb baaaaaaaaaaaab bb aa
Dla danych wejściowych:
abcde
poprawną odpowiedzią jest:
NIE
Dla danych wejściowych:
abaaba
poprawną odpowiedzią jest:
abaaba abaaba
Autor zadania: Wojciech Rytter.