SP26352 NINJA8 - George vs Kramer
题目描述
乔治和克雷默正在激烈争吵。为了解决这个问题,杰里想出一个妙招,借助他们对邮票的热爱来化解矛盾。他给他们设计了一个游戏。游戏中有 $N$ 个容器,每个容器中装有若干邮票,它们的编号从 $1$ 到 $N$,第 $i$ 个容器里有 $A[i]$ 张邮票。游戏规则如下:第一位玩家可以从任意一个非空容器中取走一张或多张邮票。随后,另一名玩家从剩下的非空容器里选一个,同样取走一张或多张邮票。两人交替进行这种操作,直到没有邮票可以取得,取不到邮票的一方即为失败者。注意,玩家只能选择仍有邮票的容器。
幸运的是,乔治获得了先手权,他想知道在他采取最佳策略的前提下,有多少种首步走法可以确保他赢得比赛。由于他在数学和编程方面不太擅长,需要你的帮助。请给予他支持!
输入格式
第一行是整数 $T$,表示有多少组测试数据。
对于每组测试数据,第一行给出整数 $N$,表示容器的数量。接着的第二行是 $N$ 个整数,表示各个容器中邮票的数量,数值间用空格隔开。
输出格式
请输出乔治在最优策略下必胜的首步走法数量。如果没有必胜的首步,输出 $0$。
说明/提示
- $1 \le T \le 50$
- $1 \le N \le 10^5$
- $1 \le A[i] \le 10^9$
**样例输入:**
```
1
2
2 3
```
**样例输出:**
```
1
```
**本翻译由 AI 自动生成**