Il tuo compito sarà quello di scrivere una funzione o un programma, che prenderà un intero n>0
come input e produrrà un elenco dei bordi dell'ipercubon
tridimensionale . Nella teoria dei grafi un bordo è definito come una 2 tupla di vertici (o angoli, se preferite), che sono collegati.
Esempio 1
Un ipercubo monodimensionale è una linea e presenta due vertici, che chiameremo a
e b
.
Pertanto, l'output sarà:
[[a, b]]
Esempio 2
L'ipercubo a 4 dimensioni (o tesseratto) è costituito da 32 bordi e il suo grafico è simile al seguente
e l'output potrebbe apparire così
[[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]]
Regole
- Puoi nominare i vertici come preferisci, purché il nome sia univoco.
- I bordi sono non orientati, ossia
[a, b]
e[b, a]
sono considerati dello stesso bordo. - L'output non deve contenere bordi duplicati.
- L'output può essere in qualsiasi formato ragionevole.
- Sono vietate le scappatoie standard.
punteggio
Il codice più corto vince.