如何在 <= 25 次机会中找到列表中随机数的索引列表长度为 50?

问题描述

我有一个棘手的问题。我有一个从 0 到 49 的随机数列表,有 50 个人。每个人都被随机分配了一个数字,从 0 到 49。现在的问题是,每个人都需要在列表中找到他们分配的数字的索引(例如:如果你被分配了 10 并且需要找到 10 的索引在列表中)。每个人最多有 25 次机会,每个人都需要在这 25 次机会中找到他们在列表中“指定号码”的索引号(每个人最多有 25 次机会。每个人都需要赢得团队胜利,如果至少有一个失败,每个人都会失败.

为了让每个人都赢(即团队赢),团队应该遵循什么策略?

解决方法

在最坏的情况下,您需要 49 x 25 个问题(如果 49 个人问过他们是否处于索引 0 并且得到答案“否”,那么#50 知道他或她处于索引 0 并且不需要问)。

诀窍是,回答较少问题的玩家可以询问朋友#i 是否在索引#j,并告诉朋友是否在索引#j,这样问题就均匀地分布在所有50 人之间。

,

这似乎是 100 prisoners problem。有一种策略可以超过 30% 的概率成功,如 Wiki 页面所述。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...