太极迷阵icon
太极迷阵
界线初承
前50关半小时就过了,后50半小时还不一定能过一关
LANKING15
代码就不放了,我用的只是最基础的条件语句和循环语句,主要是算法的构建……算法的基础是模拟开关控制灯泡,以第99关为例,周围总共有24个点,当做24个灯泡,再在脑中模拟这24个点下面都有一个开关,共24个开关,每一个开关的拨动都会导致这24个灯泡中确定的13个灯泡(控制的13条线)发生变化,这24个开关的关系是:相邻的两个开关控制的两组13个灯泡也是相邻的,即这个开关控制这13个灯泡,那么顺时针方向的下一个开关控制的就是上一组13个灯泡顺时针方向的下13个灯泡(不知道讲的清不清楚)……这样,一个开关可以控制13个灯泡,一个灯泡也只会受13个开关控制……接着,在已知题目有解的情况下,题目必然是由初始状态(统一颜色)开始,通过拨动某几个开关,达到复杂状态(我们所见到的题目)。那么,恢复成统一颜色状态的方法有两种,把题目所拨动的开关全部再拨动一次,或者把题目所未拨动的开关全部拨动一次……这样,就可以列方程组了。24个开关是未知数,即24元方程组。对于一个方程来说,等式的左边是这个灯泡的状态,虽然只有黑和白两种状态,但方程里不能单纯的表示成0和1,而是表示成十进制数的奇数和偶数,或者转化为二进制数的最低位的0和1,因为假定一个灯泡初始状态为0,拨动一个开关,变成1,再拨动一个开关,变成0,再拨动一个,又变成1,但数学方程这样写就不成立了,只能说,一个灯泡初始状态为0,拨动一个开关,变成1,再拨动一个开关,变成2,再拨动一个,变成3,所以方程的左边只能根据题目来判断是奇数还是偶数,但具体是多少无关紧要(知道具体就没那么麻烦了),只要满足奇偶条件就行……开关控制灯泡,方程组的右边自然是开关的状态了,开关的状态不用这么麻烦,只有拨动和没拨动,0和1,对于一个方程而言,一个灯泡由13个开关控制,一个等式的右边就有13个未知数相加而成……大概就像这样,这是我第一次解第99关的方程组,这样写起来简单(就是字比较多),但不具有通用性,一次只能解一道题,所以后面又改写成了通用方程(相对于程序来说)(但逻辑有点复杂,调试了好久)……大概就先这样(不知道有没有写清楚),不知道其他人有没有更好的思路……
图片
孤寂
我才51,卡住了,没钱通关,也不想用钱
图片