Logo
(追記) (追記ここまで)

8606번 - Klasy 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB219866.667%

문제

W Bajtocji dzieci grają w ciekawą odmianę gry w klasy. Na chodniku jest namalowany kwadrat o boku $n,ドル podzielony na $n^2$ 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 1ドル$ 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 5ドル,ドル 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.

입력

W pierwszym wierszu standardowego wejścia znajdują się pooddzielane pojedynczymi odstępami: liczba całkowita $n$ (2ドル ≤ n ≤ 5,000円$), 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 $x_1,ドル $x_2,ドル $y_1,ドル $y_2$ (1ドル ≤ x_1 ≤ x_2 ≤ n,ドル 1ドル ≤ y_1 ≤ y_2 ≤ n,ドル $(x_2-x_1) \cdot (y_2 - y_1) ≤ 1,000円,000円$) oznaczające odpowiednio pierwszą i ostatnią kolumnę oraz pierwszy i ostatni wiersz wycinka, który należy wypisać. Kolumny są ponumerowane od 1ドル$ do $n$ z zachodu na wschód, zaś wiersze - od 1ドル$ do $n$ z południa na północ.

출력

Twój program powinien wypisać na standardowe wyjście dokładnie $y_2 - y_1 + 1$ wierszy, a w każdym z nich po $x_2 - x_1 + 1$ 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.

제한

예제 입력 1

5 POLNOC PRAWO
2 4 2 3

예제 출력 1

18 25 22
17 24 23

힌트

출처

Olympiad > Junior Polish Olympiad in Informatics > JPOI 2009 > Stage 1 1번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /