接下来,证明n≤27。这等价于证明“当n=28,乙必能确定至少一个数”。
将纸条编号为(1)~(28),假设通过甲的回答,乙最终得到了k种可能的结论。记第i种可能中,卡(j)的数字为x_ij。
不用担心有数字没被回答过,用w_1、w_2之类的代数来代称这些未知数就行。(相应地,其它知道数值的数就叫已知数。)
若此时乙无法确定任何一个数,则必有:k≥2,且每一列的数都不全为同一个已知数。
此时,我们不妨试着从第1行中任取一个数x_1a。若它是未知数,则甲任何时候都不能回答x_1a;若它是已知数,则必存在一个不同行、不同列的x_bc满足x_bc=x_1a,那么只要乙指定的10张纸条不同时包含(a)、(c),甲就不能回答x_1a。
故,我们只需说明,总存在一种10张纸条的组合,迫使甲无法回答任何一个数,引发矛盾,即可完成证明。
对第一行中所有的已知数x_1a都取一个相等且在不同行、列的x_bc,并记下(a, c)。
然后我们画一张有28个点的图,将点记为点1~点28,连接所有的(点a,点c)。
于是,找到一种迫使甲无法回答任何一个数的10纸组合,就等价于找到10个两两不相连的点。
考虑将1张图分为若干个连通的部分。举个简单的栗子:
设一个连通部分有m个点,则它最多有m条边。我们只需考虑有m点m边的情况,因为其他情况都是更弱的。
一个m点m边的连通图一定恰好存在一个环,其余部分为树状。砍掉环上任意一条边,整个图就会变成树状。
此时给点交替黑白上色,相同颜色的点就是不相连的,我们选取数量更多的那一方即可。如果刚好选到了环上被砍开的、原本相连的两点,则删掉其中的一个。
举个简单的栗子:
于是,我们在一个有m个点的连通部分中,至少能选出⌊m/2⌋个不相连点(⌊ ⌋为向下取整)。
将每个连通部分的点数累加,就是总的不相连点数。
要使这种取法下的最少点数尽可能多,就要让每个部分尽可能都是3点环:
而n=28最多最多就只能做到9个3点环+1个孤立点,必然可以选出10个不相连点,引发矛盾,证毕。
对于任意的纸条总数与任意的每轮纸条指定数量,这个结论都可以轻易推广。