W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem [email protected].
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, zapraszamy na serwery Discord. Są one moderowane przez społeczność, ale członkowie zespołu technicznego też są tam aktywni.
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ś.