Dane są dwa ciągi słów
oraz
, gdzie
.
Kolejno dla każdego
od
do
wybieramy jedno z dwóch słów:
albo
i wybrane słowa składamy
(kolejne wybrane słowo dopisujemy do poprzednich z prawej strony).
Wybór składa się z
decyzji, czy w kolejnym kroku wybrać odpowiedni
-ty wyraz z pierwszego, czy z drugiego ciągu słów.
Bardziej formalnie: wybór jest
wyrazowym ciągiem liczb
lub
.
Różne wybory mogą dać w wyniku to samo słowo.
Wybór nazywamy symetrycznym, gdy jego wynikiem jest palindrom —
tzn. takie słowo, które nie zmienia się, gdy je czytamy od strony prawej do lewej.
Napisz program, który:
i dwa
-wyrazowe ciągi słów
i
,
W pierwszym wierszu standardowego wejścia jest zapisana jedna liczba całkowita dodatnia
.
W następnych
wierszach są zapisane kolejne słowa ciągu
— każde w osobnym wierszu.
W następnych
wierszach są zapisane — w taki sam sposób — kolejne słowa ciągu
.
Wszystkie słowa składają się wyłącznie z małych liter alfabetu angielskiego od a do z
i mają łączną długość nie mniejszą niż
i nie większą niż
.
Na standardowe wyjście należy zapisać jedną liczbę całkowitą nieujemną, a mianowicie liczbę wszystkich wyborów symetrycznych.
Dla danych wejściowych:
5 ab a a ab a a baaaa a a ba
poprawną odpowiedzią jest:
12
Autor zadania: Wojciech Rytter.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.