Прыгун категория волшебной шахматной фигуры , которая двигается по «прыжкам» . Нормальный рыцарь - (1,2) -прыжок, что означает, что каждое движение включает в себя перемещение на 1 квадрат в ортогональном направлении и 2 квадрата в перпендикулярном направлении.
.o.o.
o...o
..N..
o...o
.o.o.
Есть много разных прыгунов. (1,3) -прыжок называется Длинный рыцарь или верблюд. Его модель движения выглядит так:
..o.o..
.......
o.....o
...L...
o.....o
.......
..o.o..
Есть также (2,2) Alfil ...
o...o
.....
..A..
.....
o...o
... и даже (0,1) Вазир.
.o.
oWo
.o.
Вызов
Учитывая пару чисел в качестве входных данных, выведите соответствующую диаграмму движения. Вы можете написать программу или функцию с вводом, предоставленным через STDIN / командную строку или в качестве аргумента, и выводом, предоставленным через STDOUT или возвращаемое значение. Это код-гольф .
вход
Ввод будет разделенный запятыми список из двух целых чисел и заглавной буквы. Два целых числа будут в диапазоне 0-7
(включительно) и в неубывающем порядке. Трейлинг новой строки необязательно для ввода и вывода.
Вот входные данные для приведенных выше четырех примеров:
1,2,N
1,3,L
2,2,A
0,1,W
Выход
Выход будет многострочная строка квадратной формы. Заглавная буква будет размещена в центре, чтобы обозначить текущее местоположение произведения. Места перемещения будут представлены 4 или 8 строчными буквами o
. Все остальные места в квадрате будут заполнены точками.
Если шаблон движения 0,0
, выведите только заглавную букву.
Как подсказка, если второе целое число (большее) имеет значение N, то у квадрата всегда будет длина стороны 2N + 1. o
S всегда будет по периметру площади.
Дополнительные тестовые случаи
1,1,F
o.o
.F.
o.o
5,7,Q
..o.........o..
...............
o.............o
...............
...............
...............
...............
.......Q.......
...............
...............
...............
...............
o.............o
...............
..o.........o..
0,0,J
J