VC的题目,超急!!高手帮忙啊!!

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:38:07
假设有N个棋子,甲乙轮流取棋子,每次至少取1个,至多取M个,取到最后一个棋子的人输。假设甲先取,请写出无论乙怎样取,甲都能赢的算法,编程实现。

有N个白棋子和N个黑棋子,他们的排列如下(N=3时)WWW BBB,他们的中间有1个空位。编程实现位置互换(如:N=3时,BBB WWW。)要求:每次只能移动一个棋子,所移动的棋子必须向目标方向移动。移动时,或者移到与它相临的空位中,或者跳过与它颜色不同的棋子进入空位。

给你提供一个思路吧我机子没安VC

甲的取法是第一次取完后让剩下的棋子满足
N 除以(M+1)得余数为 1 以后乙取 x个 甲就取(M+1-X)个这样无论怎样取甲都会赢

第二个很简单有好多种移法你自己看看吧我就不说了