Nim取石子问题。。。

设C=x1 xor x2 xor x3 xor …… xor xn,则当C=0时此状态为T,否则为S

我们称石堆中大于1的为充裕堆,等于1的为独立堆

 

取到最后的人赢的话:

T为必败态,S为必胜态

必胜策略:S态时选取最多石子的堆i,并取走xi xor C个石子【易证取完后状态为T

 

取到最后的人输的话:

我们把局势分成S0,S1,S2,T0,T2

S0,S1表示有0,1个充裕堆的状态,S2表示有>=2个充裕堆的状态,T0,T2同理。

则我们可以发现

  • S0为必败态,T0为必胜态

  • S1时,若单独堆为奇数个,则我们把充裕堆全部取走,转成S0;若偶数个,则将充裕堆取剩一个,转成S0。可得S1为必胜态

  • S2可转成T2,而T2只可转成S1,S2,所以S2也是必胜态,T2是必败态。

所以T0,S1,S2为必胜态,S0,T2为必败态。

 

【Code】

 

相关文章:

  • 2021-11-29
  • 2021-07-08
  • 2021-09-22
  • 2021-09-18
  • 2022-12-23
猜你喜欢
  • 2021-08-07
  • 2021-12-24
  • 2022-12-23
  • 2021-08-28
  • 2021-10-04
  • 2021-09-08
  • 2021-12-26
相关资源
相似解决方案