每一组可能出现的n位二进制数代表人的不同分组,共有2n个.我们需要把所有分组都循环一次,二进制数通常的计数顺序是办不到的,但格雷码很适合.只要依次运行格雷码,从0000000000开始,并将之阐释为进出指示.例如,最右边一位数从0变为1,意思就是"佩奇进入房间".那么,解决办法类似这样:●0000000000:房间是空的.●0000000001:佩奇进入房间.●0000000011:布林进入房间,和佩奇一起.●0000000010:佩奇退出房间.●0000000110:埃里克进入房间,和布林一起.它的每一步,都只有一位数变化,也正代表只有一个人进入或离开房间.格雷码是许多经典谜题的万能钥匙,尤其是"汉诺塔"(Towe