Im Schach kann sich ein Ritter nur zu den mit X markierten Positionen relativ zu seiner aktuellen Position bewegen, die mit ♞ markiert ist:
Ein Ritter Graph ist ein Graph, der alle legalen Züge des Ritter Schachfigur auf einem Schachbrett darstellt. Jeder Scheitelpunkt dieses Diagramms stellt ein Quadrat des Schachbretts dar, und jede Kante verbindet zwei Quadrate, die die Bewegung eines Ritters voneinander entfernt sind.
Das Diagramm sieht für ein Standard-8-mal-8-Board so aus.
Herausforderung:
Bei einer gegebenen Ganzzahl N , bei der 3 ≤ N ≤ 8 ist , wird eine N-mal-N- Matrix ausgegeben, die eine Platine darstellt, wobei die Anzahl der möglichen Bewegungen von jeder Position gezeigt wird. Für N = 8 ist die Ausgabe eine Matrix, die die Werte jedes Scheitelpunkts in der obigen Grafik zeigt.
Das Ausgabeformat ist flexibel. Listenlisten oder sogar eine abgeflachte Liste usw. sind akzeptierte Formate.
Kompletter Satz von Testfällen:
--- 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
Das ist Code-Golf, also gewinnt die kürzeste Lösung in jeder Sprache. Erklärungen sind erwünscht!