这个问题是一个很好的问题,已经被其他答主用图论很好地解决了。我在这里多提一嘴这个问题的一个实际应用。
我们都知道产生真随机数是困难甚至不现实的(要真能随便产生,那验证贝尔不等式那个实验也不用那么麻烦,就这还不能排除无自由意志假说)。在工程上,我们的一种产生随机数的办法就是使用m序列。
[批注1]:感谢评论区提醒,此处有一个较严重的笔误,上一自然段加粗部分“产生随机数”应更改为“产生伪随机数”。前文提到了,产生真随机数是不现实的,因此m序列是伪随机的。并且m序列还比较特别,它是一个“确定”的随机数。
m序列的定义与题目有一点细微区别,事实上,m序列是说的一个2^n-1长度的只用0和1组合排列成的序列,它蕴含了所有除了0000的数字组合。如何将其变成本题目的情形呢?显然这个序列必然有n-1位连号的0,在其中插入一个0即可。
m序列的一个优点是有着具体并简单的电路实现,如下图(搬运自学校ppt):
我们可以看到,这样一个简单的电路,就能实现m序列的产生(该m序列为100110101111000)。其中中间那个大的SHIFTER元件是移位寄存器,它的功能是每过一个周期后,将每一位数向右移动一位。当然,Q3就被移动没了,而Q0则由SR补充。
其中下面这个元件是异或元件,作用是求两个输入的异或(异或可以理解为两个二进制数相加取各位,例如0异或0=0,0异或1=1,1异或0=1,1异或1=0),感兴趣的读者可以自行百度。
其状态转换图如下所示:
上面给出了n=4的m序列发生器的示意,其余n对应的m序列也可查表得到对应的电路实现,反馈方程就是指的SR的输入,圈里面一个加号这个符号表示“异或”运算,如下所示:
而题主的这个问题与这一问题等价,是一个很有趣并且很有用的问题。
说实话,我想了很久应该配什么图,是第一次见到凛音的图,还是第一次见到Rinne的图,抑或是暴雨中黑化的凛音的图(不过怕大半夜地吓到大家)。斟酌了很久,我却是选择了这一张图。
要说的话,这一张图应该是全游戏最苦涩的一张图了,明亮的背景与婚纱,背后隐藏的确实默默承受一切的Rinne的多年忍耐,以及男主和女主不自知的禁断之恋。看起来,这是一个彻头彻尾的悲剧,但却用完全喜剧的图片展现了出来。今天网易云刷到一个评论,续写了一个结局:切那穿越到未来,然后对Rinne说:我想要回到1975年。我看后百感交集,这或许就是最完美的结局了吧。
为什么选择了这一张图呢?因为我对此十分有感触。或许生活就是这样,我们在别人眼里,都被打着明亮的灯光,穿着喜气的婚纱,但轻柔的步伐的背后,却掩埋这无限的辛酸。但即便如此,我们不也是微笑着向前走着吗?
超级经典的图论问题,方法是构造一个与其相关的图,证明图有欧拉回路。具体已经有人写了。