Алиса и Боб играют в следующую игру:
1) Для начала они выбирают перестановку первых N чисел.
2) Они играют попеременно, а Алиса играет первой.
3) По очереди они могут удалить любое одно оставшееся число из перестановки.
4) Игра заканчивается, когда оставшиеся числа образуют возрастающую последовательность. Человек, сыгравший последний ход (после которого последовательность увеличивается) выигрывает игру.
Предполагая, что оба играют оптимально, кто победит в игре?
Входной сигнал:
Первая строка содержит количество тестовых примеров. Каждый случай содержит целое число N в первой строке, за которым следует перестановка целых чисел 1..N во второй строке.
Выход:
Выведите T строк, по одной на каждый тестовый случай, содержащих «Алису», если Алиса выиграет игру, и «Боб» в противном случае.
Пример ввода:
2
3
1 3 2
5
5 3 2 1 4
Пример вывода:
Алиса
Bob
Ограничения:
1 <= T <= 100 </p>
2 <= N <= 15 </p>
Первоначально перестановка не будет возрастающей последовательностью.
Я пытаюсь решить вышеуказанную проблему. Я дошел до сих пор, но я застрял в точке. Пожалуйста, помогите мне продолжить.
В приведенной выше задаче для перестановки длины 2 всегда выигрывает игрок 1.
Для перестановки длины 3 игрок 2 выигрывает, если строка строго увеличивается или уменьшается.
Для перестановки длины 4, если игрок 1 может сделать строку, строго увеличивая или уменьшая ее, удаляя персонажа, он выигрывает, а игрок 2 выигрывает.
Отсюда вывод:
Если текущий игрок может сделать строку строго увеличивающейся, он / она выигрывает. (Банальный кейс)
Если он / она в состоянии сделать это строго уменьшая, победитель определяется количеством элементов в этой последовательности. Если в этой последовательности четное количество элементов, текущий игрок проигрывает, иначе выигрывает.
Но что делать, если результирующая строка не увеличивается и не уменьшается ??