魔塔21层怎么踩?

扑克魔塔二106-108层的踩灯问题难倒了很多玩家。现在公布一个完整的破解方案。(是不是有点晚了?)

这个问题表面上是个小游戏,实际上是个数学问题。

该解决方案基于以下原则:

1.同一个位置踩两次等于没踩。由于按回车键可以原地改变灯的亮与灭,问题就变成了在每个格子里是踩(奇数次踩)还是不踩(偶数次踩)。

2.踩在某个位置只是改变了周围的灯光。因此,一盏灯在一个方向上步进后的照明情况的变化,只与在这个网格和周围网格上步进的次数之和有关,奇数变化,偶数不变。

3.每盏灯只有两种状态,即开和关,每走一步和不走一步只有两种状态。

所以,解决这个问题相当于解一个逻辑方程组:Aij = xij+Xi-1J+Xi+1J+xij-1+xij+1+(1≤I,j ≤ n,(n为步进。)

提示:上式中的“+”并不是加法的意思,而是用来代替逻辑运算XOR的符号(这个符号在电脑中是找不到的)。下同。

(什么?对逻辑代数一窍不通?.....简单解释一下:所谓异或,就是运算中涉及的两个二进制数相同并得到1,差为2;或者0+0 = 0,1+1 = 0,1 = 1,0+1 = 1。这个运算满足交换律和结合律。)

这个方程组是n*n阶的,所以运算量随着n的增加而迅速增加,好在求解是程序性的,交给计算机就好了。

以下是计算结果:

先解释一下公式的含义。数字表示网格的位置,从左到右、从上到下排列:

1 2 3 1 2 3 4 1 2 3 4 5

4 5 6 4 5 6 7 4 5 6 7 8

7 8 9 8 9 10 11 9 10 11 12 13

12 13 14 15 14 15 16 17 18

19 20 21 22 23

等式左边的数字决定了是否要踩格子。根据等式右端的公式,计算出1表示“步进”,0表示“不步进”。

等式右边的数字是踩灯前灯是亮还是灭的代码。

注意,注意!!!如果最后要把灯全部踩灭,灯就是1,灯就是0。

如果你最后想把所有的灯都打开,那就打开到0,关掉到1。犯了错想不通就别来找我!)

3*3必须有独特的解决方案:

1=1+3+6+7+8

2=5+7+8+9

3=1+3+4+8+9

4=3+5+6+9

5=2+4+5+6+8

6=1+4+5+7

7=1+2+6+7+9

8=1+2+3+5

9=2+3+4+7+9

4*4有解:2+3+4+5+7+9+10+13 = 0,1+2+4+8+9+10+11+。

* * *有解时有解16。在这种情况下,将13、14、15和16作为自由变量(为简单起见,均取0)。获得如下解决方案:

1=1+2+5+7+10+11+12

2=1+2+3+8+9+10+12

3=2+3+4+5+9+11+12

4=3+4+6+8+9+10+11

5=1+3+5+7+8+9+11

6=4+7+8+12

7=1+5+6+9

8=2+4+5+6+8+10+12

9=2+3+4+5+7+9+10

10=1+2+4+8+9+10+11

11=1+3+4+5+10+11+12

12=1+2+3+6+8+11+12

13=0

14=0

15=0

16=0

从自由变量的选取可以看出,4*4还有另外一个简单的解法:把前三行都踩上,如果第四行同时都是on (off),就已经解决了;否则无解。

5*5有解:2+3+4+6+8+10+1+12+14+15+16+18。

* * *有解就有四解。在这种情况下,24和25被视为自由变量(为简单起见,两者都被视为0)。获得如下解决方案:

1=2+3+4+8+10+14+15+20

2=1+2+4+5+7+13+14+15+19

3=1+3+4+5+6+8+9+13+14+16+17+18+19+20+22

4=1+2+3+7+17+21+22+23

5=2+3+5+6+11+13+15+18+20+21+22

6=3+5+7+8+10+13+19+20

7=2+4+6+7+9+10+14+16+17+18+22

8=1+3+6+8+9+15+16+18+20+21+23

9=3+7+8+9+11+14+15+16+19+22+23

10=1+6+7+11+13+15+17+18+20+23

11=5+9+10+13+15+16+17+18+19+22

12=17+21+22+23

13=2+3+5+6+10+11+13+14+18+21+22

14=1+2+3+7+9+13+14+15+19

15=1+2+5+8+9+10+11+14+15+16+17+19+21

16=3+7+8+9+11+15+16+18+20+21+23

17=3+4+7+10+11+12+15+17+18+19+23

18=3+5+7+8+10+11+13+16+17+19+20+21

19=2+3+6+9+11+14+15+17+18+19+23

20=1+3+5+6+8+10+16+18+20+21+23

21=4+5+8+12+13+15+16+18+20+21+22

22=3+4+5+7+9+11+12+13+21+22+23

23=4+8+9+10+12+16+17+19+20+22

24=0

25=0灯1。

00100

2

1235

1235

2

打开两盏灯

11000

23

14

145

2345

00011

2345

145

14

23

10010

25

12345

34

1345

13

01001

34

24

123

点亮三盏灯

01110

235

1

135

35

12

10101

35

235

135

12

1

如何使用。

先把前4排的20个灯全部踩上,一个一个踩,站下一排踩上一排,随回车移动,很简单。

前面第一排数字表示最后一排灯的状态,亮为1,暗为0。

比如00100表示前四行都亮,最后一行只有中间的灯亮。

接下来有五行数字,1行代表1列,第二行代表第二列,依此类推。

例如:00100

2

1235

1235

2

表达

让第一列第二个单元格的灯(从上往下数)和周围的灯发生变化(从当前位置移动到第一列第二个单元格,按一次Enter使灯的状态不变,直到移动到第一列第二个单元格,到第一列第二个单元格就不用按Enter了)。

然后让1235第二列的灯和周围的灯依次变化。

0表示第三列中没有要更改的灯。

诸如此类。

这是我现有的所有解法和他们的解法中,前四行都亮的几个状态。

我希望这正是你所遇到的。

107层4x4,前三条线按照上述方法全亮,最后一条线全亮。否则无解。

106层3x3参考魔塔二106,107通关工具。

/mota/pk2/light.asp