给定:一组n
硬币 ( n <= 100
),使得它们的 XOR-sum (nim-sum)不为 0。每堆可以包含可以用 30 位表示的硬币。
期望:获得 0 的整体 XOR(nim sum)。
限制:可以从任何一堆中移除石头,只要至少有一堆保持不变。石头不能添加到任何堆中。
所需输出:可以实现此目的的方法数,以大素数为模。
我理解保持一摞不变意味着其余摞的异或必须等于不变摞中的硬币。我试图使用动态编程,但一无所获。一个棘手的方面似乎是,在考虑其他一些也保持不变的堆时,任何有一些未更改的部分解决方案可能会被计算多次。这是一个竞赛题,现在竞赛已经结束。任何帮助将不胜感激。谢谢!