先解释一下必败点和必胜点:
必败点P:前一个选手取胜的位置,即谁先走到这个位置谁赢。
必胜点N:后一个选手取胜的位置,即谁先走到这个位置谁输。
对于P-N表格,我们采用从终点往前推导的方法,因为,终点必定是必败点,终点不同,则必败点的位置不同,P-N表格的也不相同。
P-N表格有以下三个属性:
一:终点必定是必败点(P点)。因为在终点时,已经没办法走了,那么就是从前一个位置进入这个位置的人获胜。
二:对于必败点(P点),能一步进入这个点的必定是必胜点,而必败点无论怎么走,也只能进入必败点。
三:对于必胜点(N点),可以进入必败点,也可以进入必胜点。也就是说,必胜点可以由必胜点进入,也可以由必败点进入。
下面是建立P-N表格的代码实现:
#include <iostream>
using namespace std;
int main()
{
int n, m, i, j;
while(