Polish version    English version  
  O olimpiadzie -> Zadania


 Aktualności
 O olimpiadzie
O olimpiadzie
Zadania
I OI 1993/1994
II OI 1994/1995
III OI 1995/1996
IV OI 1996/1997
V OI 1997/1998
VI OI 1998/1999
VII OI 1999/2000
VIII OI 2000/2001
IX OI 2001/2002
X OI 2002/2003
XI OI 2003/2004
XII OI 2004/2005
XIII OI 2005/2006
XIV OI 2006/2007
XV OI 2007/2008
Archiwum zadań
Ankieta OI
 Komitety
 XVIII OI 2010/2011
 Historia OI
 Książeczki OI
 Reprezentacja
 Obozy Olimpiady
 Galeria zdjęć
 Ciekawe odsyłacze
 OIG LiveCD
 IV OIG 2009/2010
 Historia OIG
 SIO
 MAIN
IV Olimpiada Informatyczna 1996/97

Zadanie: LIC
Autor: Wojciech Rytter
Liczba Wyborów Symetrycznych

Zawody I stopnia  
Plik źródłowy: LIC.??? (np. pas, c, cpp)
Plik wykonywalny: LIC.exe
Plik wejściowy: LIC.in
Plik wyjściowy: LIC.out

Dane są dwa ciągi słów (xi) oraz (yi), gdzie: 1<= i <= n oraz 1 <= n <= 30. Kolejno dla każdego i od 1 do n wybieramy jedno z dwóch słów: xi albo yi i wybrane słowa składamy (kolejne wybrane słowo dopisujemy do poprzednich z prawej strony). Wybór składa się z n decyzji, czy w kolejnym kroku wybrać odpowiedni i-ty wyraz z pierwszego, czy z drugiego ciągu słów. Bardziej formalnie: wybór jest n wyrazowym ciągiem liczb 1 lub 2. 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.

Zadanie

Napisz program, który:

  • wczytuje z pliku tekstowego LIC.IN liczbę n i dwa n-wyrazowe ciągi słów (xi) i (yi),
  • oblicza liczbę wszystkich wyborów symetrycznych dla tych dwóch ciągów słów,
  • zapisuje wynik w pliku tekstowym LIC.OUT.

Wejście

W pierwszym wierszu pliku tekstowego LIC.IN jest zapisana jedna liczba całkowita dodatnia n Ł 30. W następnych n wierszach są zapisane kolejne słowa ciągu (xi) - każde w osobnym wierszu. W następnych n wierszach są zapisane - w taki sam sposób - kolejne słowa ciągu (yi). Wszystkie słowa składają się wyłącznie z małych liter alfabetu angielskiego od a do z i mają długość nie mniejszą niż 1 i nie większą niż 400.

Wyjście

W pliku tekstowym LIC.OUT należy zapisać jedną liczbę całkowitą nieujemną, a mianowicie liczbę wszystkich wyborów symetrycznych.

Przykład

Dla pliku LIC.IN:

5
ab
a
a
ab
a
a
baaaa
a
a
ba
poprawnym rozwiązaniem jest plik LIC.OUT:
12

Twój program powinien szukać pliku LIC.IN w katalogu bieżącym i tworzyć plik LIC.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę LIC.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonalnej powinien być zapisany w pliku LIC.EXE




Wersja do druku