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.
Na zakończenie tegorocznej edycji Pogromców Algorytmów Krzyśki odpowiedzialne za prawidłowy przebieg zawodowów (KC, KD, KO, KS) postanowili odtańczyć radosny taniec gordyjski. Taniec gordyjski to tradycyjny bajtocki taniec tańczony przez dwie pary tancerzy. Początkowo tancerze stoją w wierzchołkach kwadratu , w dwóch parach: i . Każda z par rozciąga między sobą sznurek. Tak więc na początku oba sznurki są rozciągnięte poziomo i równolegle do siebie.
Taniec składa się z ciągu ruchów, z których każdy może być ruchem następującego rodzaju:
W trakcie tańca sznurki plączą się ze sobą, jednak na koniec tańca powinny zostać rozplątane i znowu być rozciągnięte poziomo i równolegle do siebie. Tancerze nie muszą przy tym stać na tych samych miejscach, na których stali na początku. Taniec ten wymaga od tancerzy dużej wprawy, gdyż w trakcie tańca sznurki mogą być bardzo splątane i ciąg ruchów, który prowadziłby do ich rozplątania i rozciągnięcia poziomo i równolegle do siebie może być trudny do odgadnięcia.
Krzyśki to początkujący tancerze. Twoje zadanie polega na napisaniu programu, który pomógłby im zakończyć rozpoczęty taniec. Na podstawie ciągu już wykonanych ruchów Twój program powinien wyznaczyć minimalną liczbę ruchów pozwalających zakończyć taniec.
Przykładowo, po wykonaniu ciągu ruchów otrzymujemy następującą konfigurację:
Najkrótszy ciąg ruchów, który pozwala zakończyć taniec ma długość 5 i jest nim .
Napisz program, który:
W pierwszym wierszu standardowego wejścia zapisana jest jedna dodatnia liczba całkowita równa liczbie wykonanych ruchów, . W drugim wierszu zapisane jest jedno słowo długości złożone z liter i/lub . Kolejne litery tego słowa reprezentują kolejno wykonane ruchy w tańcu.
Twój program powinien wypisać na standardowe wyjście, w pierwszym i jedynym wierszu, jedną liczbę całkowitą - minimalną liczbę ruchów ( i/lub ) koniecznych do rozplątania sznurków i rozciągnięcia ich poziomo i równolegle do siebie.
Dla danych wejściowych:
2 SS
poprawną odpowiedzią jest:
5
Autor zadania: Piotr Chrząstowski.