You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nim游戏变体的胜负判定及Grundy值计算咨询

Nim游戏变体的胜负判定及Grundy值计算咨询

最近我和朋友讨论了一个从别处看到的游戏问题,想请教下大家的思路,先把规则明确一下:

Alice和Bob在玩一个有n堆石子的游戏。每一步操作中,玩家可以选择某一堆石子,移除所有其他堆,然后把选中的这堆恰好分成n堆,每堆至少有1颗石子。无法进行操作的玩家输掉游戏。
约束条件是:n <= 1e6,a[i] <= 1e18

最开始我直觉觉得这个问题应该能用Sprague-Grundy定理来解决,想着先算几个小数值的Grundy值,看看能不能找到和n相关的规律。但实际一想,计算Grundy值的过程就卡壳了:我需要考虑所有可能的状态转移——把一个数拆分成所有满足条件的n个元素的多重集合,然后把每个元素的Grundy值异或起来,再对所有这些异或结果取mex(也就是不在结果集合里的最小非负整数)。这本身就是个工作量极大的任务,就算能想办法算出一些值,我也开始怀疑这些是不是正确的Grundy值,因为……

备注:内容来源于stack exchange,提问作者Rohak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 08:22:58