Python通用解法 平均每关2.9秒
03/098 次播放攻略
解法简单来说就是先只点下7层 把上7层还原 一些关卡到这里就结束了 但绝大多数还未结束 最后一层未完全还原 这时候会有n个异色 n∈[1,8]
异色的位置从左往右数可能是1、37、268、12345678..... 一共有2⁸-1种不同的位置分布 该如何解决? 不难知道 在每格只点0次或1次的情况下每关有且只有一种解法 先前我们只点了下7层 第一层还没点 解决最后一层异色的关键其实就在第一层 先前还原完上7层后最后一层的异色位置我们可以当做第二关来做 即异色位置为黑 其余全白 我猜想 若先在第一层点了n个不同的格子之后 再用第一步的方法一步步往下顺 顺到最后一层 都有一一对应的位置排列 理论成立 实践开始 我从第一格试到第八格 得出
1:5
2:4 6
3:3 5 7
4:2 4 6 8
5:1 3 5 7
6:2 4 6
7:3 5
8:4
即点第一层第1格后对应的是最后一层的第5格 点第2格对应最后一层46格......
若最后一层异色位置为13 第一层对应的是1357 因为奇偶数之间互不干涉 所以即使不用脚本也可以轻松过关
若是使用脚本 如何从下往上还原就成了一个难题 即从13得1357 这个过程用算法实现颇为复杂 所以我动了点歪脑筋
现在我要求最后一层为13时 第一层是什么 不妨假设13为第一层 其对应的最后一层是37 再将37当做第一层 对应的最后一层是7....
13
37
7
35
1
5
1357
13
又回到13了 而13上面的1357就是我们要的解 可以发现这里面没有3 没有57 没有...... 因为这只是奇数中的其中一组数的循环 偶数同理 大家可以自己尝试 而这种方法 人力计算有些耗时间 但放到程序语言中就不一样了 相比之前 我们发现了规律 写起脚本来也更加省事 头发也可以少掉点 我使用的编程语言是Python 实际效果如视频所示 代码我再完善一下 整理过后再发出来 现正尝试将这套方法封装成一个APP 但那就不是Python的事了...