Ваше завдання полягатиме в тому, щоб написати функцію або програму, яка буде приймати ціле число n>0
як вхід і виводити список ребер n
-вимірного гіперкуба . У теорії графів край визначається як 2-ма вершини вершин (або кутів, якщо вам більше зручно), які пов'язані між собою.
Приклад 1
1-мірний гіперкуб - це лінія і містить дві вершини, які ми будемо називати a
і b
.
Тому вихід буде:
[[a, b]]
Приклад 2
4-мірний гіперкуб (або тессеракт) складається з 32 ребер і його графік виглядає приблизно так
і вихід може виглядати так
[[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]]
Правила
- Ви можете називати вершини будь-яким способом, доки ім'я є унікальним.
- Краї неорієнтовані, тобто
[a, b]
і[b, a]
вважаються однаковими краями. - Ваш вихід не повинен містити повторюваних країв.
- Вихід може бути у будь-якому розумному форматі.
- Стандартні лазівки заборонені.
Оцінка балів
Найкоротший код виграє.