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.
Podłoga magazynu jest prostokątem podzielonym na kwadratowych pól. Dwa pola są sąsiednie, jeśli mają wspólny bok. Na jednym z pól stoi paczka. Każde inne pole jest albo wolne, albo zajęte przez skrzynię, której magazynier nie jest w stanie poruszyć. Magazynier musi przepchnąć paczkę z pola początkowego P na pole docelowe K. Magazynier może przemieszczać się po wolnych polach, przechodząc z pola, na którym stoi, na dowolne z wolnych pól sąsiednich. Jeśli magazynier stoi na polu sąsiadującym z polem, na którym jest paczka, to może ją przepchnąć na pole sąsiednie z przeciwnej strony paczki, jeżeli jest ono wolne.
Napisz program, który:
W pierwszym wierszu standardowego wejścia są zapisane dwie dodatnie liczby całkowite i oddzielone pojedynczym odstępem, . Są to rozmiary magazynu. W każdym z kolejnych wierszy znajduje się jedno -literowe słowo utworzone z liter S, M, P, K, w. Litera na -tej pozycji -tego z tych słów oznacza stan pola o współrzędnych :
Każda z liter M, P i K występuje na wejściu dokładnie raz.
Twój program powinien wypisać na standardowe wyjście:
Dla danych wejściowych:
10 12 SSSSSSSSSSSS SwwwwwwwSSSS SwSSSSwwSSSS SwSSSSwwSKSS SwSSSSwwSwSS SwwwwwPwwwww SSSSSSSwSwSw SSSSSSMwSwww SSSSSSSSSSSS SSSSSSSSSSSS
poprawną odpowiedzią jest:
7
Autor zadania: Krzysztof Loryś.