最开始我"单纯"的认为:若A无条件1开,B无条件1关,C 1开或1关时移动,那么C不会移动。
后来发现C1开不动,1关动。
后来又发现,若A1 1开动,A2 1开,B 1关,那么A不动。若A1和A2调换,那么A动。但有时候又不是这样的。我一脸懵逼!!!
我曾以为存在多个机器人时,是逐个逐行执行,以现在的机能1s执行成千上万行的命令,给人感官上是同时执行的没有问题。
后来发现矛盾时以为是多个机器人并行执行第一行,然后第二行,这样才能解释矛盾。后来发现也不对。。。我差点一度以为多个机器人同时执行一个开关操作时,开关的结果是随机的,那样的话36行就无法实现了。
最后以27关4个机器人实验发现了真正的规则。
从上到下设4个机器人依次为ABCD。
那么A的信号结果参照优先级依次为:DBC
例如:设A 1开时移动到A点,那么只要D1开,BC开或关A都会移动,D 1关则不动。若D不设置,则B1开动,关则不动,C开关无影响。
而D的参照优先级则是BCA。
这种规则下36行又有了一点可能,但那实现难度或证明不能实现的难度都非常大。
附: 36行设想(或37行)
首先信号开关操作至少各一行共5行,这点毫无疑问。
然后是选择存活数:
存活5时需要1行选择,考虑到最开始的信号开关平衡,可能需要两行。
存活4时,由于不确定存活的是哪4个,有C(5,1)共5种可能,需要5行,这5行可最少分布到2个机器人上。
存活3时,有c(5,3)共10种结果,这10种可最少分布到3个机器人上。
存活2时,有c(5,2)共10种结果,最少分布到4个机器人上。
存活1时共5种结果,必须分布到5个机器人上。
这样共需要36行(或37?)就可解决,现在信号同时开关的执行规则也找到了(还没去找这5个机器人的参照顺序),似乎又有一点可能了,但这难度嘛。。。。我想想就头大
谁能解决?或证明?