118. Handshakes at a Party


Nicholas和Alexandra去参加一场招待会,同场的还有另外10对夫妇。在场的每个人都和所有自己不认识的人握了手。事后,Alexandra逐一询问了其他21位宾客各自和多少人握过手,结果每一次得到的答案都不一样。

问:Nicholas和多少人握过手?

答案是:10人。

全场共\(2\times 11=22\)人,正好组成11对夫妇。夫妻彼此认识,所以夫妻之间一定不握手。

于是每个人最多和\(21-1=20\)人握手:全场除自己以外有21人,其中配偶那一位是确定不会握的。所以每人握手次数的可能取值只有

\[ 0,1,2,\ldots,20\]

共21个。而Alexandra一共问了21个人(另外10对夫妇共20人,再加上Nicholas),却得到21个互不相同的答案。21个答案填满21个可能值,所以这21个答案必定恰好是

\[ 0,1,2,\ldots,20\]

各一次。

设某位宾客\(A\)握了20次手。全场除\(A\)自己和配偶之外正好有20人,所以\(A\)与这20人全都握过手,唯独没有和自己的配偶握。

再设某位宾客\(B\)一次手也没握。如果\(B\)不是\(A\)的配偶,那么\(A\)必然握过\(B\)的手,这与\(B\)的0次矛盾。所以\(B\)必是\(A\)的配偶。

这里还得到一个更有用的推论:\(A\)与剩下的每一个人都握过手,而\(B\)和谁都没握过手。因此把这对夫妇从场上请走之后,其他每个人的握手次数都恰好减少1——他们少掉了与\(A\)的那一次,而与\(B\)本来就没有那一次。

由引理,回答20次的人和回答0次的人是夫妻。把这两位请走,场上剩下\(20\)人,即\(10\)对夫妇。他们原来的\(1,2,\ldots,19\)次,在这个更小的圈子里就变成了\(0,1,\ldots,18\)次;并且除了Alexandra之外,剩下19位被问过的人都还在,答案依旧两两不同。

这恰好是同一个问题,只是少了一对夫妇。于是同样地,剩下的19次者与1次者必为夫妻,把他们也请走,如此反复:

\[ (20,0),\ (19,1),\ (18,2),\ \ldots,\ (11,9)\]

一共剥掉了10对夫妻。最后场上只剩Nicholas和Alexandra这一对,而在只剩两人的圈子里,夫妻之间不握手,所以他们的次数都是\(0\)。

每请走一对夫妇,留下的每个人次数都恰好减少1。一共请走了10对,所以要把这10次加回去:

\[ 0+10=10.\]

因此Nicholas握了10次手。同样的推理也适用于Alexandra:她也握了10次手——她正是那位没有被询问的人。

本题只用了两件初等工具。抽屉原理把“21个互不相同的答案”逼成“恰好是\(0\)到\(20\)”;极端值引理加归纳把次数最多与次数最少的人配成夫妻,一层层剥下去,最后剩下的那对夫妻正是没被问到的Alexandra和Nicholas。

若把“另外10对夫妇”换成“另外\(n-1\)对夫妇”(全场\(n\)对、共\(2n\)人),则被问的\(2n-1\)人给出\(2n-1\)个不同答案,仍是\(0\)到\(2n-2\)各一次;剥掉\((2n-2,0),(2n-3,1),\ldots\)共\(n-1\)对之后,剩下的那对夫妻各有\(n-1\)次。本题\(n=11\),故答案为\(n-1=10\)。

Previous Next