Цель
Вам дано целое число n
( n > 1
). Вы должны вывода , сколько перестановок чисел 1
на n
есть , которые начинаются с 1
, заканчиваются на n
, и не имеют два последовательных целых чисел , которые отличаются на 1.
В качестве альтернативы, если вы возьмете полный граф K_n
и удалите ребра пути, 1-2-3-...-n
вы должны посчитать гамильтоновы пути от 1
до n
в оставшемся графе.
В примерах будет использоваться f(n)
функция, которая принимает n
и выводит количество допустимых перестановок, но ваша отправка может быть функцией или программой.
Примеры
Для n = 6
возможного решения1-3-5-2-4-6
Тем 1-3-5-2-6-4
не менее, это не является действительным решением, поскольку оно не заканчивается 6
.
На самом деле, для n = 6
, есть только 2 решения ( 1-4-2-5-3-6
есть другое).
Отсюда f(6) = 2
.
Для n = 4
единственных перестановок, которые начинаются 1
и заканчиваются в 4
являются 1-2-3-4
и 1-3-2-4
. В обоих из них 2
смежно с 3
, давая последовательные целые числа, которые отличаются на 1. Следовательно f(4) = 0
.
Контрольные примеры
f(6) = 2
f(4) = 0
f(8) = 68
f(13) = 4462848
Критерий победы
Это код-гольф, самый короткий ответ выигрывает.
Q_ser:=z + 2 z^6 + 10 z^7 + 68 z^8 + 500 z^9 + 4174 z^10 + 38774 z^11 + 397584z^12 + 4462848 z^13 + 54455754 z^14
я сейчас провожу некоторое время, пытаясь использовать формулы, но я не могу составить тот, который генерирует последовательность. Удивительно, что показатель степени z является входом формулы, а результат - коэффициентом умножения. Тот, кто может вывести формулу из этого, может быть один с самым коротким ответом в байтах
[2..n-1]
не содержат дельт1
или-1
, вы также должны проверить, что ни одна из них не начинается2
или не заканчиваетсяn-1
...