|
|||||||
|
Store-keeper
The floor of a store is a rectangle divided into n*m square fields. Two fields are adjacent, if they have a common side. A parcel lays on one of the fields. Each of the remaining fields is either empty, or occupied by a case, which is too heavy to be moved by a store-keeper. The store-keeper has to shift the parcel from the starting field P to the final field K. He can move on the empty fields, going from the field on which he stands to a chosen adjacent field. When the store-keeper stays on a field adjacent to the one with the parcel he may push the parcel so that if moves to the next field (i.e. the field on the other side of the parcel), assuming condition that there are no cases on this field. TaskWrite a program, which:
InputIn the first line of the input file MAG.IN two positive integers separated by a single space, n,m<=100, are written. These are dimensions of the store. In each of the following n lines there appears one m-letter word made of letters S, M, P, K, w. A letter on i-th position in j-th word denotes a type of the field with coordinates (i,j) and its meaning is following:
Each letter M, P and K appears in the text file MAG.IN exactly once. OutputYour program should write in the output file MAG.IN:
ExampleFor the input file MAG.IN: 10 12 SSSSSSSSSSSS SwwwwwwwSSSS SwSSSSwwSSSS SwSSSSwwSKSS SwSSSSwwSwSS SwwwwwPwwwww SSSSSSSwSwSw SSSSSSMwSwww SSSSSSSSSSSS SSSSSSSSSSSSthe correct answer is the output file MAG.OUT 7 |