康老师

数字华容道为什么会无解

2019-12-07 01:47:42
相关推荐

这个问题无解。因为最后14,15是颠倒的,只有一对颠倒必然无解,如果有两对颠倒就会有解。

可以用逆序数进行说明。

对于正确1,2,3,4,5,6,7,8,9,10,11,12,13,14,15。逆序数为0

可以执行的操作有四种:上下左右。

左右移动是不改变序列的,所以左右移动逆序数不变。

关键是上下移动,上下移动一次相当于在序列中移动3次,所以奇偶性最终是反转了奇数次,即上下移动会改变序列的逆序数奇偶性。 上下移动的副产品就是:空格所在行数到目标行(即最后一行)的行数的奇偶性发生改变。所以上下移动过程中的不变量是:逆序数奇偶性^空格所在行数到目标行的行数的奇偶性。其中"^"表示异或操作

综上可知,四种操作中的守恒量可以描述为:当前序列的奇偶性^空格距离目标行的距离奇偶性。在这个问题中,这个守恒量=1,而正确答案中守恒量=0。所以无解。

更进一步:

对于任意列数为偶数的拼图,守恒量为:当前序列的奇偶性^空格距离目标行的距离奇偶性。

对于任意列数为奇数的拼图,守恒量为:当前序列的奇偶性。

若当前状态的守恒量和目标状态守恒量相同,则必然有解否则,必然无解。

证明无解很容易,证明有解需要构造解。

阅读剩余内容
网友评论
相关阅读
小编推荐