Leaper jest kategorią bajki szachy kawałek, który porusza się przez „skoków”. Normalny rycerz jest (1,2) leaper, co oznacza, że każdy ruch wymaga przesunięcia o 1 kwadrat w kierunku prostopadłym i 2 kwadraty w kierunku prostopadłym.
.o.o.
o...o
..N..
o...o
.o.o.
Istnieje wiele różnych leaperów. (1,3) -leaper nazywa się Długi Rycerz lub Wielbłąd. Jego wzór ruchu wygląda następująco:
..o.o..
.......
o.....o
...L...
o.....o
.......
..o.o..
Jest też (2,2) Alfil ...
o...o
.....
..A..
.....
o...o
... a nawet (0,1) Wazir.
.o.
oWo
.o.
Wyzwanie
Biorąc pod uwagę parę liczb jako dane wejściowe, wypisz odpowiedni schemat ruchu. Możesz napisać program lub funkcję, z danymi wejściowymi dostarczonymi przez STDIN / wiersz poleceń lub jako argument, a dane wyjściowe dostarczone przez STDOUT lub wartość zwracaną. To jest golf golfowy .
Wejście
Dane wejściowe będą oddzieloną przecinkami listą dwóch liczb całkowitych i dużej litery. Dwie liczby całkowite będą w zakresie 0-7(włącznie) i nie malejącej kolejności. Końcowy znak nowej linii jest opcjonalny dla danych wejściowych i wyjściowych.
Oto dane wejściowe dla powyższych czterech przykładów:
1,2,N
1,3,L
2,2,A
0,1,W
Wynik
Wyjście będzie wielowierszowym ciągiem w kształcie kwadratu. Wielka litera zostanie umieszczona na środku, aby reprezentować bieżącą lokalizację utworu. Lokalizacje ruchu będą reprezentowane przez 4 lub 8 małych litero . Wszystkie pozostałe miejsca na kwadracie zostaną wypełnione kropkami.
Jeśli wzór ruchu jest 0,0, wypisz tylko wielką literę.
Jako wskazówka, jeśli druga liczba całkowita (większa) ma wartość N, to kwadrat zawsze będzie miał długość boku 2N + 1. oS zawsze będzie na obwodzie placu.
Dodatkowe przypadki testowe
1,1,F
o.o
.F.
o.o
5,7,Q
..o.........o..
...............
o.............o
...............
...............
...............
...............
.......Q.......
...............
...............
...............
...............
o.............o
...............
..o.........o..
0,0,J
J