【发布时间】:2021-10-13 08:16:28
【问题描述】:
山上有老实的猴子,也有不靠谱的猴子。诚实的猴子总是说真话,而不可靠的猴子可能会撒谎,也可能会说真话。猴子自己可以分辨谁是诚实的,谁是不可靠的,但外人无法分辨。 假设山上有n只猴子,严格来说有n/2只以上诚实的猴子。你能否给出一个算法,通过询问其他猴子是否诚实来找出所有诚实的猴子?
我考虑了一段时间,尝试了一些搜索引擎,但仍然不知道。
【问题讨论】:
-
能否请您添加问题的根源,以便我们可以看到它不是现场比赛的一部分?
-
外人无法分辨 什么意思?什么是局外人?一只不靠谱的猴子?我猜你有一些效率限制。如果没有,似乎有一个明显的 O(n^2) 算法,...如果我很好地理解 tje 问题。
-
这个问题是我同学问的。我认为它升级了一个老问题,即诚实的猴子总是说真话,而不可靠的猴子总是说谎。
-
假设你是局外人,必须找出所有诚实的猴子。
-
如果你没有效率限制,只要问问每一只猴子,谁是可靠的,谁不是。每只获得正分的猴子都是可靠的。