想养只大橘猫 作品
第230章 穷举法
“这场游戏,你已经输了。”
孔元青突然抬起头,淡淡地开口说道。
“这种程度的逻辑推演,你能这么快就找到答案?!”
1号心中巨震,根本难以相信这个事实。
事实上,他自己在第七排的推演中卡了非常长的时间,一旦让他突破这一结果,他很快就能得到最终的答案。
更何况,两人在对决的过程中没有做出过太多最优解。
也就是说,局势是一直在变化的。
孔元青凭什么能在这种局势下频繁找到正确答案?!
“你还在用穷举法寻找答案,对吧?这个方法虽然能够得到详解,但是速度太慢了。”
孔元青一边说着,一边又做出了自己的选择。
所谓的穷举法,就是从第一排的情况开始模拟,然后不断增加排数,最终得到十排的情况下,这场游戏的必胜手是先还是后。
这个方法是思路是这样的:
如果丝线只有一排,那也意味着丝线总数只有1根。
在这样的情况下,先手玩家毫无疑问是必胜的,因为他只需要剪掉唯一的这根线,那他就赢了。
如果丝线有两排,那么丝线总数就是3根。
在这样的情况下,先手玩家还是必胜的。
只要他剪断第二排的某一根线,后手玩家就不可能剪到最后一根线。
到目前为止,可以发现前两种情况都是先手必胜,后手玩家似乎处于劣势一方。
那么,后手玩家要怎么做,才能保证自己能必胜呢?
按照这个思路,其实可以构建出后手玩家必胜的两种情形。
第一种情形,是排数为偶数,且每一排只有一根线的情况下。
假设丝线如果是6排,由于玩家每次只能选择一排剪断,那么你剪一排,我剪一排,后手玩家就必定能剪到最后一排的那根线。
第二种情况,是排数为偶数,且每两排的丝线数量相等的情况下。
假设丝线如果是4排,前两排都是4根,后两排都是5根。
那么不管先手玩家怎么剪,后手玩家只需要在相同数量的另一排,剪相同数量的线,保证这两排继续相等就可以了。