Zadanie : mat02-e
Palindrom to takie słowo, które czytane od lewej do prawej i od prawej do lewej jest takie same. Okazuje się, że palindrom można utworzyć na podstawie dowolnego słowa.
Niech s będzie dowolnym słowem. Algorytm tworzenia palindomu ze słowa s może wyglądać następująco:
- wyznacz najdłuższe słowo x takie, że x jest początkiem słowa s oraz x jest palindromem, czyli nadłuższy początkowy palindom słowa s
- oznaczmy przez y pozostałą część słowa s, czyli s=xy
- palindrom jest równy h=R(y)xy, gdzie R(y) jest odwróconym słowem y.
Przykład:
Słowo --> Maks-Palindrom --> Palindrom --------------------------------------------------- KAJAKARSTWO --> KAJAK --> OWTSRAKAJAKARSTWO MAMA --> MAM --> AMAMA KAJAK --> KAJAK --> KAJAK EGZAMIN --> E --> NIMAZGEGZAMIN
Dla każdego z podanych słów utwórz palindrom opisany w powyższy sposób.
Wejście
Pierwszy wiersz wejścia zawiera liczbę całkowitą n z zakresu 1..100. W każdym z kolejnych n wierszy zapisano jedno słowo, o maksymalnej długości 30 znaków.
Wyjście
Palindromy utworzone zgodnie z podanym algorytmem.
Przykład
Dla danych podanych na wejściu:
5 BAABBBBAAABABAABABABABAABB AABBAAABABAABBAABABBBAA ABAABBBBBABBBAAABAABBAABA ABBBABABAAAAABABA AABABBAABBBABAAABBAABBA
Poprawną odpowiedzią jest wyjście:
BBAABABABABAABABAAABBBBAABBBBAAABABAABABABABAABB AABBBABAABBAABABAAABBAAABABAABBAABABBBAA ABAABBAABAAABBBABBBBBAABAABBBBBABBBAAABAABBAABA ABABAAAAABABABBBABABAAAAABABA ABBAABBAAABABBBAABBABAABABBAABBBABAAABBAABBA
Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5
Opcje zadania:
Biblioteki : iostream iomanip cmath string Limit czasu : 0.1 s Limit pamięci : 32 MB Słowa niedozwolone :