Szachownica [B]
Limit pamięci: 128 MB
Na szalenie wielkiej szachownicy ustawiono mnóstwo figur
szachowych1,
a wszystkie tego samego koloru.
Mówimy, że dana figura szachuje dane pole, jeżeli ta figura może wykonać
ruch na to pole, czyli w szczególności:
- na tym polu nie stoi aktualnie żadna figura,
- na drodze do tego pola (w przypadku gońca, hetmana i wieży)
nie stoi żadna inna figura.
Do pól szachowanych przez daną figurę nie zaliczamy pola,
na którym się ona znajduje.
Zauważmy, że jedno pole może być szachowane przez wiele figur
jednocześnie.
Zadanie
Napisz program, który:
- wczyta ze standardowego wejścia opis ustawienia figur na szachownicy,
- dla każdej figury wyznaczy, ile pól szachownicy ona szachuje,
- wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby całkowite oraz
(, ), oddzielone pojedynczym odstępem
i oznaczające liczbę figur ustawionych na kwadratowej szachownicy oraz
długość boku szachownicy.
Każdy z kolejnych wierszy ma postać " ", gdzie
jest literą reprezentującą figurę:
- G - goniec,
- H - hetman,
- K - król,
- S - skoczek,
- W - wieża,
natomiast
to współrzędne pola szachownicy, na którym jest ustawiona
(
).
Żadne dwie figury nie będą ustawione na tym samym polu.
Wyjście
Wyjście powinno się składać z wierszy.
-ty z nich powinien zawierać jedną liczbę naturalną, oznaczającą
liczbę pól, które szachuje -ta figura z wejścia.
Przykład
Dla danych wejściowych:
6 5
K 5 5
G 4 1
W 1 3
K 2 3
H 2 2
S 3 3
poprawną odpowiedzią jest:
3
2
4
5
7
7
Powyższy rysunek przedstawia figury z przykładu na szachownicy.
Od każdej figury liniami o różnych stylach zaznaczono pola które szachuje.
Pola, na które może przeskoczyć skoczek, zaznaczono dużymi kropkami.
Więcej o rodzajach figur szachowych i ich możliwych
ruchach można przeczytać na przykład tu:
http://pl.wikipedia.org/wiki/Bierka_szachowa.
Autor zadania: Jakub Radoszewski.