graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

1inf 2023/24 - Podstawy algorytmiki i programowania, LC*

[x1] Powierzchnie mechaniczne
Języki: pas c cpp
Limit czasu: 3.0 s
Limit pamięci: 10 MB
Limit rozmiaru rozwiązania: 60 kB
Urządzenie do obrazowania dostarcza cyfrowych obrazów z dwóch obrabianych powierzchni, które ostatecznie będą montowane w kontakcie ze sobą. Wyznacz przestrzeń pozostałą pomiędzy oboma powierzchniami.

Cyfrowy obraz składa się ze znaków "X" oraz " " (spacja). Obraz zawsze zawiera 25 kolumn, ale liczba wierszy jest zmienna (wynosi N).
Kolumna pierwsza zawsze będzie składać się z samych "X" (fragment lewej powierzchni). Podobnie kolumna 25 zawsze będzie częścią prawej powierzchni i również będzie składać się z samych "X"-ów.

Widok cyfrowego obrazu powierzchni

 
Lewa Prawa
XXXX XXXXX →1
XXX XXXXXXX
XXXXX XXXX
XX XXXXXX
. .
. .
. .
XXXX XXXX
XXX XXXXXX →N

1 25

W każdym wierszu obrazu, może być zero lub więcej znaków przestrzeni oddzielającej lewą powierzchnię od prawej. Nigdy nie będzie więcej niż jeden pusty region w wierszu.

Dla danego obrazu, określ całkowitą przestrzeń, która pozostaje za lewą powierzchnią po jej wejściu w kontakt z prawą powierzchnią. Przez przestrzeń rozumiemy całkowitą liczbę miejsc, które pozostają pomiędzy lewą i prawą powierzchnią po doprowadzeniu do kontaktu.

Powierzchnie są sztywne i mogą poruszać się tylko w poziomie.

Uwaga: Oryginalne zdjęcie może zawierać dwie powierzchnie w kontakcie, w takim przypadku nie są one w ogóle przemieszczane!

Wejście

Wejście składa się z ciągu obrazów cyfrowych. Każdy zestaw danych (obraz) ma następujący format:

Pierwszy wiersz-
Jedna liczba naturalna N, o wartości większej niż zero i mniejszej niż 13. Pierwsza cyfra liczby N będzie pierwszym znakiem w wierszu.

Następne N wierszy-
Każdy wiersz ma dokładnie 25 znaków, jeden lub więcej X-ów, potem zero lub więcej spacji, a następnie jeden lub więcej X-ów.
Koniec danych sygnalizowany jest przez pusty zbiór danych (zero w pierwszym wierszu).

Wyjście

Dla każdego obrazu, który otrzymasz jako zbiór danych, wydrukuj w osobnym wierszu rozmiar pozostałej przestrzeni (liczbę pustych miejsc, pozostałych po zetknięciu się obu powierzchni).

Przykładowe wejście (użyto znaków "B" zamiast spacji w celu ułatwienia czytania. W rzeczywistym pliku wejściowym będziemy używać znaków spacji, a nie "B").

4
XXXXBBBBBBBBBBBBBBBBXXXXX
XXXBBBBBBBBBBBBBBBXXXXXXX
XXXXXBBBBBBBBBBBBBBBBXXXX
XXBBBBBBBBBBBBBBBBBXXXXXX
2
XXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXX
1
XXXXXXXXXBBBBBBBBBBBBBBXX
0

Przykładowe wyniki

4
0
0
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego