Klasy
Limit pamięci: 32 MB
W Bajtocji dzieci grają w ciekawą odmianę gry w klasy.
Na chodniku jest namalowany kwadrat o boku , podzielony na jednakowych pól.
Zadaniem jednego z dzieci, zwanego dalej zawodnikiem,
jest ponumerowanie wszystkich pól w ściśle określony sposób.
Przed grą zawodnikowi wyznaczany jest kierunek świata:
północ, południe, zachód lub wschód
oraz dozwolony rodzaj skrętu:
prawo lub lewo.
Wyznaczone dziecko wchodzi na wybrane przez siebie pole - jedno z czterech pól
przy wierzchołkach kwadratu, zwraca się w wyznaczonym kierunku świata
i rozpoczyna numerowanie od postawienia liczby na polu startowym.
W każdym ruchu zawodnik:
- idzie naprzód o jedno pole, o ile w wyniku tego ruchu pozostanie nadal
wewnątrz kwadratu, a pole, na które przejdzie, jest wolne, tj. jeszcze
nieponumerowane;
- w przeciwnym przypadku wykonuje skręt w dozwolonym kierunku, ale
tylko jeden, i idzie naprzód o jedno pole.
Każde kolejne odwiedzone pole zawodnik numeruje kolejną liczbą naturalną.
Dodatkowo zakładamy, że w pierwszym ruchu zawodnik nie może wykonać skrętu, a jedynie
pójść naprzód w wyznaczonym kierunku.
Pole startowe musi więc zostać wybrane z rozwagą.
Jeżeli na przykład kwadrat ma bok długości
, zadany został kierunek
północ i skręt w prawo, to doświadczony zawodnik wybrałby jako
pole startowe róg południowo-zachodni, a cały ponumerowany kwadrat wyglądałby tak:
Twoim zadaniem jest napisanie programu, który wypisze zawartość pewnego zadanego
wycinka kwadratu wypełnionego przez dzieci.
Wejście
W pierwszym wierszu standardowego wejścia znajdują się pooddzielane pojedynczymi odstępami:
liczba całkowita (), oznaczająca długość boku kwadratu,
oraz dwa wyrazy oznaczające kierunek świata
(jedno ze słów: POLNOC, POLUDNIE, ZACHOD lub WSCHOD)
i dozwolony skręt (jedno ze słów: PRAWO lub LEWO).
W drugim wierszu wejścia znajdują się cztery liczby całkowite , , ,
(, , )
oznaczające odpowiednio pierwszą i ostatnią kolumnę oraz pierwszy i ostatni wiersz
wycinka, który należy wypisać.
Kolumny są ponumerowane od do z zachodu na wschód, zaś wiersze
- od do z południa na północ.
W 50% przypadków testowych zachodzi , natomiast
w 75% przypadków testowych zachodzi .
Wyjście
Twój program powinien wypisać na standardowe wyjście dokładnie wierszy,
a w każdym z nich po liczb pooddzielanych pojedynczymi odstępami.
Mają one przedstawiać kolejne wiersze wycinka ponumerowanego kwadratu, podane
w kolejności od najbardziej wysuniętego na północ do położonego najbardziej
na południu.
Przykład
Dla danych wejściowych:
5 POLNOC PRAWO
2 4 2 3
poprawną odpowiedzią jest:
18 25 22
17 24 23
Autorzy zadania: Marian M. Kędzierski, Błażej Osiński.