m×n砖块阵列取砖博弈的必胜策略求解及证明请求
m×n砖块阵列取砖博弈的必胜策略求解及证明请求
先把规则再明确一遍,避免理解偏差:
两名玩家轮流行动,面对一个
m×n的砖块阵列;每次选一块砖,移除这块砖**以及它南侧(同一列下方所有砖)、西侧(同一行左侧所有砖)**的所有砖块;谁移除了最后一块砖,谁就输。
下面分两种情况给你梳理清楚必胜策略:
一、当m≠n(非正方形阵列)时,先手稳赢
具体策略:
- 第一步先把阵列变正方形
假设原阵列是m×n,比如m > n(m < n时逻辑完全一样,只是行和列反过来),先手总能找到一块砖,通过一次操作把非正方形阵列变成边长为min(m,n)的正方形。比如原阵列是5×3,先手可以选第3行第3列的砖,移除后刚好剩下2×2的正方形区域。 - 之后跟着后手镜像操作
变成正方形后,不管后手选哪块砖(i,j),先手就选正方形里中心对称的那块(k+1-i, k+1-j)(k是正方形的边长)。比如3×3阵列,先手选(1,2),后手就选(3,2);先手选(2,1),后手就选(2,3)。这样每次操作后阵列都保持对称,最后后手一定会被逼着移除最后一块砖,先手就赢了。
为啥这策略管用?
非正方形变正方形后,后手的任何操作都会打破对称,而先手的镜像操作又会把对称状态拉回来。后手永远逃不开这个循环,最终只能被迫移除最后一块砖输掉游戏。
二、当m=n(正方形阵列)时,后手稳赢
具体策略:全程镜像先手操作
不管先手选哪块砖,后手都选它的中心对称点。比如2×2阵列,先手选(1,1),后手就选(2,2);先手选(1,2),后手就选(2,1)。
证明逻辑:
正方形的中心对称点一定存在且有效,每次先手操作后,后手的对称操作会让阵列始终保持对称状态。先手永远没法打破这个对称,最后只能自己移除最后一块砖,输掉游戏。
举个2×2的小例子:
- 先手选
(1,2),移除(1,2)和它南侧的(2,2),剩下(1,1)和(2,1); - 后手选
(2,1),移除(2,1),剩下(1,1); - 先手只能移除
(1,1),直接输掉。
备注:内容来源于stack exchange,提问作者puma
相关产品推荐
相关产品推荐

