Seu trabalho será escrever uma função ou um programa que aceitará um número inteiro n>0
como entrada e produzirá uma lista das bordas do hipercubon
dimensional . Na teoria dos grafos, uma aresta é definida como duas tuplas de vértices (ou cantos, se você preferir), que estão conectados.
Exemplo 1
Um hipercubo unidimensional é uma linha e apresenta dois vértices, que chamaremos de a
e b
.
Portanto, a saída será:
[[a, b]]
Exemplo 2
O hipercubo 4-dimensional (ou tesseract) consiste em 32 arestas e seu gráfico se parece com este
e a saída pode ficar assim
[[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]]
Regras
- Você pode nomear os vértices da maneira que quiser, desde que o nome seja exclusivo.
- As arestas são não dirigida, ou seja,
[a, b]
e[b, a]
são consideradas a mesma vantagem. - Sua saída não deve conter arestas duplicadas.
- A saída pode estar em qualquer formato sensível.
- As brechas padrão são proibidas.
Pontuação
O menor código vence.