Ctrl K

Цепочки с квадратными суммами

Сложная
На каждой бусине написано число, все числа даны в массиве beads. Из всех бусин собирают цепочку в каком-то порядке. Цепочка красивая, если сумма чисел на любых двух соседних бусинах — точный квадрат целого числа. Верните количество различных красивых цепочек. Две цепочки различаются, если на какой-то позиции у них стоят разные числа; бусины с одинаковыми числами не различаются. Цепочка из одной бусины всегда красивая.
Пример 1
beads=[3, 6, 13] → 2

Подходят цепочки [6, 3, 13] и [13, 3, 6]: 6 + 3 = 9 и 3 + 13 = 16.

Пример 2
beads=[8, 8, 1] → 3

8 + 8 = 16 и 8 + 1 = 9, поэтому годятся [1, 8, 8], [8, 1, 8] и [8, 8, 1]. Перестановка двух одинаковых восьмёрок новой цепочки не даёт.

Пример 3
beads=[2, 5] → 0
Ограничения
  • 1 ≤ len(beads) ≤ 12
  • 0 ≤ beads[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прямых через точки СредняяКак рассчитаться за меньше переводов СложнаяДве группы с одинаковым средним СложнаяЛучший набор слов из фишек СложнаяЗаказы из одинаковых деталей Сложная
загружаем Python…
Вход
beads=[3, 6, 13]
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 112 тестов на сервере, включая скрытые.