Ihre Aufgabe wird es sein, eine Funktion oder ein Programm zu schreiben, das eine ganze Zahl n>0
als Eingabe und Ausgabe einer Liste der Kanten des n
eindimensionalen Hyperwürfels verwendet . In der Graphentheorie wird eine Kante als ein 2-Tupel von Eckpunkten (oder Ecken, wenn Sie dies bevorzugen) definiert, die verbunden sind.
Beispiel 1
Ein eindimensionaler Hyperwürfel ist eine Linie mit zwei Eckpunkten, die wir als a
und bezeichnen b
.
Daher lautet die Ausgabe:
[[a, b]]
Beispiel 2
Der 4-dimensionale Hyperwürfel (oder Tesseract) besteht aus 32 Kanten und sein Graph sieht so aus
und die Ausgabe könnte so aussehen
[[a, b], [a, c], [a, e], [a, i], [b, d], [b, f], [b, j], [c, d], [c, g], [c, k], [d, h], [d, l], [e, f], [e, g], [e, m], [f, h], [f, n], [g, h], [g, o], [h, p], [i, j], [i, k], [i, m], [j, l], [j, n], [k, l], [k, o], [l, p], [m, n], [m, o], [n, p], [o, p]]
Regeln
- Sie können die Eckpunkte beliebig benennen, solange der Name eindeutig ist.
- Die Kanten sind ungerichtet, dh
[a, b]
und[b, a]
gelten als dieselbe Kante. - Ihre Ausgabe darf keine doppelten Kanten enthalten.
- Die Ausgabe kann in jedem vernünftigen Format erfolgen.
- Standardlücken sind verboten.
Wertung
Kürzester Code gewinnt.