Zadanie 1 z laboratorium programowania na Informatyce UW.
Zadanie 1 (termin wysylania rozwiazan: 18 I 2008, godz. 23:59) (Lamiglowka "Pietnascie") Dana jest plansza o rozmiarach cztery na cztery, na ktorej znajduje sie pietnascie "klockow" oznaczonych duzymi literami. W pierwszym wierszu planszy sa cztery klocki: "A", "B", "C" i "D", w drugim "E", "F", "G" i "H", w trzecim "I", "J", "K", "L", w czwartym "M", "N", "O". Pole w czwartym wierszu i czwartej kolumnie jest puste. Klocek mozna przesunac na sasiadujace z nim wolne pole, zwalniajac tym samym pole, na ktorym klocek znajdowal sie do tej pory. W kazdej chwili na planszy jest co najwyzej jeden klocek, ktory mozna przesunac w dol (ten, ktory znajduje sie nad pustym polem), co najwyzej jeden, ktory mozna przesunac w prawo itd. Napisz program, ktory umozliwi przesuwanie klockow na planszy i bedzie wypisywal na wyjscie wynik. Program wczyta z wejscia ciag liter ze zbioru {'l', 'p', 'g', 'd'} zakonczony znakiem, ktory do tego zbioru nie nalezy. Kazda litera jest poleceniem przesuniecia klocka na planszy: 'l' - w lewo 'p' - w prawo 'g' - w gore 'd' - w dol Program wypisze na wyjscie stan poczatkowy planszy, a nastepnie dla kazdej litery z wejscia bedzie probowal wykonac reprezentowane przez nia przesuniecie klocka. Jesli przesuniecie nie bedzie mozliwe, bo np. puste pole jest w ostatnim wierszu planszy, a wczytana litera to 'g', stan planszy sie nie zmieni. Dla kazdej litery wczytanej z wejscia, niezaleznie od tego, czy spowodowala ona przesuniecie klocka, wypisujemy wynikowy stan planszy. Stan planszy wypisujemy w pieciu wierszach. W czterech pierwszych podajemy znaki z klockow znajdujacych w kolejnych wierszach planszy, oznaczajac spacja miejsce puste; piaty wiersz ma byc pusty. Np. dla danych, znajdujacych sie w dolaczonym do tresci tego zadania pliku zsi07z01.dane, program powinien wypisac to, co jest w pliku zsi07z01.wynik.
I oto rozwiązanie: