Ограничения: время – 2s/4s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Алиса и Боб играют в следующую игру. На столе несколько кучек с камнями. Игрок может взять либо все камни из одной кучки, либо по одному камню из каждой кучки. Выигрывает тот, кто забирает последний камень.
Напишите программу, вычисляющую ним-значение текущей позиции в игре. Ним-значение любой позиции можно найти как минимум исключенных значений (mex) от множества ним-значений позиций, которые возникают при всех допустимых ходах. Mex множества неотрицательных целых чисел равен наименьшему неотрицательному целому числу, не принадлежащего данному множеству. Например, mex {5,3,0,7,1} = 2, а mex {} = 0. Ним-значение позиции, когда на столе не осталось ни одного камня и нельзя сделать ни одного хода, равно нулю. С помощью ним-значения легко определить, является ли текущая позиция выигрышной или проигрышной (ним-значение проигрышной позиции равно 0), а также найти выигрышный ход (это ход, после которого получается позиция с ним-значением равным 0).
В первой строке ввода содержится одно целое число `N\ (0≤N≤15)` – количество кучек камней на столе. Во второй строке содержится `N` целых чисел, разделенных пробелами, в диапазоне от 1 до 20 – количество камней в кучках.
Вывести одно целое число – ним-значение заданной позиции.