魔术托盘算法 输入: 魔术托盘, 任何初始配置 输出: 所有的杯子方向相同 (1) 如果灯不是红色的,进入在一侧的口袋,让两只杯子朝上。 如果灯变红,停止。 (2) 进入在对角的口袋,让两只杯子朝上。 如果灯变红,停止。 (3) 现在的状态是 3上1下: 1 1 1 0 进入在对角的口袋, 如果幸运找到了朝下的杯子, 把它翻过来朝上,停止。 不然, 把袋里任一个杯翻过来朝下。 现在的状态是 2上2下: 1 0 1 0 (4) 进入在一侧的口袋, 把两只杯子各自翻过来。如果灯变红,停止。 不然,状态是: 0 1 1 0 (5) 进入在对角的口袋, 把两只杯子各自翻过来,停止。