У шахах лицар може переміщатися лише до позицій, позначених символом X відносно його поточного положення, позначеного ♞:
A Графік Лицарський є графік , який представляє всі юридичні ходи лицаря шахових фігур на шаховій дошці. Кожна вершина цього графа являє собою квадрат шахової дошки, а кожен край з'єднує два квадрати, які є рицарським рухом один від одного.
Графік виглядає так для стандартної дошки 8 на 8.
Виклик:
З огляду на ціле число N , де 3 ≤ N ≤ 8 , виведіть матрицю N-на-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
Це код-гольф, тому найкоротше рішення на кожній мові виграє. Пояснення заохочуються!