Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
AL_21_10 - Słowa |
Jaś znalazł ostatnio na ulicy dwa długie słowa. Oba te słowa miały długość n liter i były za długie jak na gust naszego bohatera. Jaś postanowił je skrócić i trochę się przy tym zabawić, wymyślił więc dość nietypowy sposób skrócenia tych słów. Chłopiec wypisał sobie pary liczb a i b (a ≤ b) i teraz po kolei sprawdza, czy w pierwszym słowie podsłowo zaczynające się na indeksie a i kończące na indeksie b jest identyczne jak podsłowo zaczynające się i kończące na tych samych indeksach w słowie drugim. Jeśli podsłowa są identyczne, to Jaś w obu słowach zmienia najbliższe litery znajdujące się na lewo od pozycji a (o ile takie litery istnieją) na znak # i przechodzi do kolejnej pary liczb. Znak # oczywiście nie jest uznawany za literę. Jeśli podsłowa są różne to Jaś od razu przechodzi do następnej pary liczb.
Po przeanalizowaniu wszystkich par liczb, Jaś wypisał sobie oba słowa bez znaków #. Teraz zastanawia się, czy przypadkiem gdzieś się nie pomylił? Pomóż Jasiowi i napisz program, który dla danych słów, oraz par liczb wyznaczy wynikowe słowa.
Wejście
W pierwszych dwóch liniach wejścia znajdują się słowa, które znalazł Jaś. Każde z nich umieszczone jest w osobnej linii i składa się z n ∈ [1;106] małych liter alfabetu łacińskiego. Słowa indeksowane są od 0. W trzeciej linii wejścia znajduje się liczba m ∈ [1;106] oznaczająca ilość par liczb do przeanalizowania. W każdej z kolejnych m linii znajdują się dwie liczby całkowite a ∈ [0;n) i b ∈ [a;n) opisane w treści zadania.
Wyjście
Na wyjściu należy wypisać wynikowe słowa, w takiej samej kolejności w jakiej zostały wczytane albo -1 jeżeli słowa te są puste.
Przykład
Wejście:
abddqwez wbdceweq 5 0 1 1 2 5 6 5 5 1 6
Wyjście:
bdwez bdweq
Wyjaśnienie do przykładu:
Oto jak wyglądają słowa po kolejnych przeanalizowanych parach liczb:
- abddqwez
wbdceweq - #bddqwez
#bdceweq - #bdd#wez
#bdc#weq - #bd##wez
#bd##weq - #bd##wez
#bd##weq
Dodane przez: | Bartek |
Data dodania: | 2015-03-06 |
Limit czasu wykonania programu: | 3s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU JS-MONKEY |
Pochodzenie: | ALGOLIGA |
ukryj komentarze
2015-03-08 15:53:07 Karol Kuppe
ab ab |
|
2015-03-08 13:23:04 Micha³ Kosior
dwab acab 2 2 3 1 3 a dla takiego testu co powinno być? |
|
2015-03-08 09:37:30 Szymon Wolarz
Dzięki. |
|
2015-03-08 01:58:18 Karol Waszczuk
bdwez bdweq |
|
2015-03-07 23:26:20 Szymon Wolarz
Co powinien wypisać program dla tego testu: aabddqwez awbdceweq 5 1 2 2 3 6 7 6 6 2 7 Ostatnio edytowany: 2015-03-07 23:26:34 |
|
2015-03-07 16:12:41 Bartek
Do zmodyfikowanych. |
|
2015-03-07 16:10:29 Grzegorz Spryszyñski
Kolejne zapytania odnoszą się do początkowych słów, czy tych zmodyfikowanych przez poprzednie operacje? |
|
2015-03-07 15:15:19 Bartek
Odpowiedź to: b b |
|
2015-03-07 15:12:37 Karol Waszczuk
Jaka powinna być odpowiedź dla testu: b b 1 0 0 |