O. Сколько значений можно получить
3000 мс · 256 МБ · всё или ничего
Дан массив из чисел. Сколько различных значений можно получить как исключающее «или» какого-нибудь подмножества элементов, включая пустое? Ответ выведите по модулю .
Множество достижимых значений — это линейная оболочка над полем из двух элементов, где сложение и есть XOR. У неё есть базис, и если его размер равен , достижимых значений ровно : каждый элемент базиса либо берём, либо нет, и разные наборы дают разные значения.
Формат ввода
Первая строка содержит число ().
Вторая строка — чисел ().
Формат вывода
Одно число — количество различных значений по модулю .
Примеры
ввод
3 1 2 3
вывод
4
ввод
4 0 0 0 0
вывод
1
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.