📜  拼图 |握手

📅  最后修改于: 2022-05-13 01:57:25.492000             🧑  作者: Mango

拼图 |握手

一对夫妇邀请 n – 1 对其他夫妇共进晚餐。一旦每个人都到了,每个人都会与他不认识的每个人握手。然后,主持人问每个人他们握了多少手,每个人用不同的数字回答。假设每个人都认识自己的配偶,女主人握了几只手?

解决方案:
N – 1,其中 N 是总数。晚宴上的情侣。
解释:

  • 可能的握手次数范围从 0 到 2N-2。 (2N-1 要求一个人在聚会上与其他人握手,但没有人与他/她的配偶握手。)
    有2N-1个不同的数字,主持人得到了2N-1个不同的答案,所以每个数字都有代表。
  • 一个人 (0) 没有握手,另一个人 (2N-2) 与所有其他夫妇的每个人握手。这只有在这两个人是已婚夫妇的情况下才有可能,因为否则 2N-2 将不得不握住 0 的手。
  • 一个人 (1) 只握了 2N-2 的手,另一个人 (2N-3) 与除 0 之外的所有其他夫妇的每个人都握手。同样,这两个人必须结婚,否则 2N-3 将不得不握手1的手,矛盾。
  • 继续这个逻辑,最终你把除了主持人之外的所有情侣配对,每一对配对一个没有握手的人和一个已经握手的人,最后一个已经握手N-2 和 N 手分别。
  • 这说明女主人必须握过 N-1 只手,因为有 N-1 只握手的人和 N-1 只握手的人。主人和女主人都只和每对夫妇中的一个成员握手——同样的人——因此每个人都握了 N-1 个人的手

例子:
N = 6

  • 5 对夫妇被邀请参加晚宴。六对情侣中,没有人握手超过十次。
  • 因此,如果 11 个人每人握手不同数量的手,则数字必须是 0、1、2、……和 10。
  • 握手 10 手的人必须与握手 0 手的人结婚(否则那个人只能握手 10 手)。
  • 同样,握过九只手的人,必然会和握过一只手的人结婚。
  • 继续逻辑,情侣们成对握手,如 10/0、9/1、8/2、7/3、6/4。剩下的唯一和5握手的人是女主人。