Проблема 477: Игра с порядковым номером
Игра с порядковым номером начинается с последовательности S из N чисел, написанных на линии. Два игрока чередуют обороты. В свою очередь игрок должен выбрать и удалить либо первый, либо последний номер, оставшийся в последовательности. Счет игрока - это сумма всех чисел, которые он сделал. Каждый игрок пытается максимизировать свою собственную сумму. Если N = 4 и S = {1, 2, 10, 3}, то каждый игрок максимизирует свой результат следующим образом: Игрок 1: удаляет первое число (1) Игрок 2: удаляет последнее число из оставшейся последовательности (3) Игрок 1: удаляет последний номер из оставшейся последовательности (10) Игрок 2: удаляет оставшееся число (2). Счет 1 игрока равен 1 + 10 = 11. Пусть F (N) - счет игрока 1, если оба игрока следуют оптимальная стратегия для последовательности S = {s1, s2, ..., sN}, определяемая как: s1 = 0 si + 1 = (si2 + 45) по модулю 1 000 000 007 Последовательность начинается с S = {0, 45, 2070 , 4284945, 753524550, 478107844, 894218625, ...}. Вам дается F (2) = 45, F (4) = 4284990, F (100) = 26365463243, F (104) = 2495838522951. Найдите F (108).