В шахматах рыцарь может перемещаться только в позиции, отмеченные знаком X, относительно его текущей позиции, отмеченной знаком ♞:
A График Рыцарский представляет собой график , который представляет все юридические ходы рыцаря шахматных фигур на шахматной доске. Каждая вершина этого графа представляет квадрат шахматной доски, а каждое ребро соединяет два квадрата, которые являются движением рыцаря друг от друга.
График выглядит так для стандартной доски 8х8.
Вызов:
Для заданного целого числа N , где 3 ≤ N ≤ 8 , выведите матрицу N-by-N, представляющую доску, где показано количество возможных ходов из каждой позиции. Для N = 8 на выходе будет матрица, показывающая значения каждой вершины на графике выше.
Выходной формат гибкий. Список списков или даже плоский список и т. Д. Являются допустимыми форматами.
Полный набор тестовых случаев:
--- N = 3 ---
2 2 2
2 0 2
2 2 2
--- N = 4 ---
2 3 3 2
3 4 4 3
3 4 4 3
2 3 3 2
--- N = 5 ---
2 3 4 3 2
3 4 6 4 3
4 6 8 6 4
3 4 6 4 3
2 3 4 3 2
--- N = 6 ---
2 3 4 4 3 2
3 4 6 6 4 3
4 6 8 8 6 4
4 6 8 8 6 4
3 4 6 6 4 3
2 3 4 4 3 2
--- N = 7 ---
2 3 4 4 4 3 2
3 4 6 6 6 4 3
4 6 8 8 8 6 4
4 6 8 8 8 6 4
4 6 8 8 8 6 4
3 4 6 6 6 4 3
2 3 4 4 4 3 2
--- N = 8 ---
2 3 4 4 4 4 3 2
3 4 6 6 6 6 4 3
4 6 8 8 8 8 6 4
4 6 8 8 8 8 6 4
4 6 8 8 8 8 6 4
4 6 8 8 8 8 6 4
3 4 6 6 6 6 4 3
2 3 4 4 4 4 3 2
Это код-гольф, поэтому выигрывает самое короткое решение на каждом языке. Пояснения приветствуются!