Недавно я отправил на вопрос о Diffy играх, остались без ответа. Это хорошо, вопрос действительно сложный, но я хотел бы сделать более легкий вопрос об играх Диффи, чтобы мы могли начать игру.
Как работает Diffy
Скопировано из Find Diffy Games
Игра Diffy работает следующим образом: вы начинаете со списка неотрицательных целых чисел, в этом примере мы будем использовать
3 4 5 8
Тогда вы берете абсолютную разницу между соседними числами
(8) 3 4 5 8
5 1 1 3
Тогда вы повторяете. Вы повторяете, пока не поймете, что вступили в цикл. И тогда, как правило, игра начинается заново.
3 4 5 8
5 1 1 3
2 4 0 2
0 2 4 2
2 2 2 2
0 0 0 0
0 0 0 0
Большинство игр заканчиваются цепочкой всех нулей, что считается проигрышным состоянием, но в редких играх они зацикливаются на больших циклах.
задача
Учитывая начальное состояние игры Diffy, определите, достигнет ли игра в конечном итоге состояния всех нулей. Вы должны вывести значение «Истина» или «Ложь» для каждого из двух состояний. Который соответствует, который не имеет значения.
Цель состоит в том, чтобы минимизировать количество байтов в вашем источнике.
1 1 0
является периодическим, 42 42 41
таково и такое состояние.
n
нечетная, игра не обнуляется, если все числа не равны. Если длина является степенью 2, она всегда стремится к нулю.
n
элементами и максимумом m
занимает самое большее количество n * bit_length(m)
шагов. Итак, n*m
это тоже верхняя граница. Более сильная верхняя граница t(n) * bit_length(m)
, где t(n)
наибольшая степень 2, это фактор n
.