桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。
以上是题目,结论是:当n%(m+1)==0,先手必输,否则先手必胜。
大概是一个很知名的博弈论,结论肯定是没有异议的。但我的确不是聪明人,理解的时候感觉很费劲,因为n越大的时候,可能性有非常多,类似于二叉树随着深度增加,分支会大幅增多一样,很难在头脑里构建这个先后手的过程,也就没办法验算出结论这个公式。遇到这种情况,笨人用笨办法,就是从n=4开始依次加1复现这个先后手的过程,逐渐的就能感觉到(m+1)到底是啥意思。
另外所谓先手必输或必胜并非是指如一共有7颗石子的时候先手随便拿必输或必胜,而是指一共7颗石子时先手的情况下,存在稳赢的拿法,换句话说也存在稳输的拿法,所以题目才要求每一步都是最优解就是让我们每一步都采取能赢的那种拿法。