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.
Dane są dwa słowa i oraz skończony ciąg słów . Operacja polega na połączeniu (konkatenacji) słowa ze słowem , czyli — mówiąc inaczej — na dopisaniu do słowa , z prawej jego strony, słowa .
Chcemy sprawdzić, czy słowa i można wyrównać za pomocą słów z danego ciągu. To znaczy, czy można po wykonaniu skończonej liczby operacji dopisywania do słów i odpowiednio wybranych wyrazów danego ciągu, otrzymać w obu przypadkach to samo słowo.
Słowa abba oraz ab można wyrównać za pomocą wyrazów ciągu: baaabad aa badccaa cc. Wystarczy w tym celu do słowa abba dopisać: aa oraz badccaa, zaś do słowa ab — najpierw baaabad, potem cc, a następnie aa. W obu przypadkach otrzymamy to samo słowo: abbaaabadccaa.
Napisz program, który:
W pierwszym wierszu standardowego wejścia jest zapisana liczba całkowita dodatnia , . Jest to długość ciągu słów . W drugim i trzecim wierszu znajdują się opisy słów i . W następnych wierszach znajdują się opisy kolejnych słów ciągu — każdy opis w osobnym wierszu. Opis słowa składa się z liczby naturalnej, będącej długością tego słowa, oraz z samego słowa w postaci ciągu znaków. Liczba jest oddzielona od słowa pojedynczym odstępem. Każde słowo składa się wyłącznie z małych liter alfabetu angielskiego od a do z i ma długość nie większą niż . Suma długości wszystkich danych słów jest nie większa niż .
Na standardowe wyjście należy zapisać:
Dla danych wejściowych:
4 4 abba 2 ab 7 baaabad 2 aa 7 badccaa 2 cc
poprawną odpowiedzią jest:
5
natomiast dla danych:
4 1 a 2 ab 2 bb 2 ab 2 ba 2 aa
poprawnym wynikiem jest:
NIE
Autor zadania: Wojciech Rytter.