先解释一下必败点和必胜点:
必败点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(cin >> n >> m)
{
if(n == 0 && m == 0)

本文介绍了巴什博弈中的必败点和必胜点概念,并阐述了它们的特性:终点是必败点,必败点只能一步到且后续只能走必败点,必胜点可以从必胜或必败点到达。通过7x7的P-N表格分析,揭示了当棋盘大小乘积为奇数时,先手者输;为偶数时,后手者输的规律。并提供了根据这个规律进行合理走法的代码实现。
&spm=1001.2101.3001.5002&articleId=80513049&d=1&t=3&u=12e7850d1d524eb68ab7d3ccd382055f)
3万+

被折叠的 条评论
为什么被折叠?



