Twoim zadaniem będzie napisanie funkcji lub programu, który weźmie liczbę całkowitą n>0
jako dane wejściowe i wyprowadza listę krawędzi n
hiperwymiarowego hipersześcianu . W teorii grafów krawędź jest zdefiniowana jako 2-krotna liczba wierzchołków (lub narożników, jeśli wolisz), które są połączone.
Przykład 1
Hipersześcian 1-wymiarowy jest linią i ma dwa wierzchołki, które nazwiemy a
i b
.
Dlatego wynik będzie:
[[a, b]]
Przykład 2
4-wymiarowy hipersześcian (lub tesseract) składa się z 32 krawędzi, a jego wykres wygląda następująco
i wynik może wyglądać tak
[[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]]
Zasady
- Możesz nazwać wierzchołki w dowolny sposób, pod warunkiem, że nazwa jest unikalna.
- Krawędzie nieukierunkowane, IE
[a, b]
i[b, a]
są uznane za samej krawędzi. - Twoje dane wyjściowe nie mogą zawierać zduplikowanych krawędzi.
- Dane wyjściowe mogą mieć dowolny rozsądny format.
- Standardowe luki są zabronione.
Punktacja
Najkrótszy kod wygrywa.