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ś.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.