Вызов
Если задано целое число n ≥ 4 , выведите перестановку целых чисел [0, n-1] со свойством того, что два последовательных целых числа не стоят рядом друг с другом. Значение перестановки pi
является суммой abs(pi[i] - i)
для всех индексов i
.
Примеры
(1, 3, 0, 2)
имеет значение6
(0, 2, 4, 1, 3)
имеет значение6
(0, 2, 4, 1, 3, 5)
имеет значение6
(0, 2, 4, 1, 5, 3, 6)
имеет значение8
Оценка вашего ответа
Оценка вашего ответа - это сумма значений ваших перестановок n = 4 .. 14
плюс число байтов, которые занимает ваш код. Чем ниже оценка, тем лучше. Ваш код должен давать действительный вывод для всех этих значений n
.
Вы должны быть в состоянии запустить ваше представление до завершения на вашем компьютере.
В случае связей, время последнего редактирования, которое привело к соответствующему счету, будет решающим.
Разве это не тот же вопрос, что и этот ?
Ответы на связанный вопрос не будут конкурентоспособными для этого вопроса, так как они не прилагают никаких усилий для оптимизации значения перестановки. Например, для n=10
перестановки, [1, 3, 5, 7, 9, 0, 2, 4, 6, 8]
приведенной в большинстве ответов, приводится значение 30
. Вы можете сделать намного лучше, чем это.
Для перестановочной части вопроса оптимальное значение в целом не более 120
. (Спасибо @Laikoni.) Тогда как ответ Денниса на предыдущий вопрос получил 222 балла . (Спасибо @ user202729.)
A078706
с n=17
, который может иметь оценку 20
.