AT_abc390_d.[ABC390D] Stone XOR
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有编号为袋 1, 袋 2, …, 袋 N 的 N 个袋子。
袋 i (1≤i≤N) 中包含 Ai 个石子。
高桥君可以重复以下操作任意次数(包括 0 次):
选择两个袋 A 和 B,将袋 A 中的 所有 石子转移到袋 B 中。
请计算操作结束后,以下值可能的不同取值数量:
- 设袋 i 中的石子数量为 Bi,计算 B1⊕B2⊕⋯⊕BN 的值。
其中 ⊕ 表示异或。
异或的定义如下:对于非负整数 a,b,a⊕b 的二进制的 2k 位(k≥0)为 1 当且仅当 a 和 b 的二进制表示中该位恰好有一个为 1,否则为 0。
例如,3⊕5=6(二进制表示为 011⊕101=110)。
一般地,k 个非负整数 x1,x2,…,xk 的异或 x1⊕x2⊕⋯⊕xk 定义为 (⋯((x1⊕x2)⊕x3)⊕⋯⊕xk),且与运算顺序无关(已证明)。注意:在本题约束下,操作结束后可能的不同异或值数量是有限的(已证明)。
输入格式
输入从标准输入给出,格式如下:
N A1 A2 … AN
输出格式
输出操作结束后可能的异或值数量。
输入输出样例
输入#1
3 2 5 7
输出#1
3
输入#2
2 100000000000000000 100000000000000000
输出#2
2
输入#3
6 71 74 45 34 31 60
输出#3
84
说明/提示
约束条件
- 2≤N≤12
- 1≤Ai≤1017
- 输入均为整数
样例解释 1
例如,若高桥君选择袋 1 和袋 3 进行操作,则袋 1,2,3 中的石子数量分别变为 0,5,9。此时异或值为 0⊕5⊕9=12。其他可能的异或值包括 0 和 14。因此共有 3 种可能值,输出 3。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?