У моей дочери было следующее задание по математике. Представьте себе шестерых друзей, живущих на линии с именами E, F, G, H, J и K. Их позиции на линии такие, как указано (не в масштабе) ниже:
Таким образом, F живет в пяти единицах от E и двух единицах от G и так далее.
Ваше задание: создайте программу, которая идентифицирует путь, который посещает каждого друга ровно один раз, с общей длиной n единиц, принимая местоположение друзей и n в качестве входных данных. Он должен сообщить путь, если он его найдет (например, для длины 17 он может сообщить «E, F, G, H, J, K»), и он должен выйти изящно, если решения не существует. Для чего он стоит, я выполнил решение без математики в Mathematica в 271 байт. Я подозреваю, что это возможно гораздо более кратко, чем это.
"[0, 5, 7, 13, 16, 17], 62"
и выход в "(7, 16, 0, 17, 5, 13)"
порядке?
[0, 5, 7, 13, 16, 17]
и62
), чтобы вы могли убедиться, что она не имеет особой жесткости в этом случае.