Есть только один способ начать этот процесс (и почти для всех ваших решений о том, что сравнивать на последующих шагах, есть только один правильный). Вот как это понять. Во-первых, обратите внимание, что для сравнения можно получить возможных ответов, и различных перестановок, которые вы должны различать.5 ! = 12027=1285!=120
Первое сравнение легко: вам нужно сравнить два ключа, и, поскольку вы ничего о них не знаете, все варианты одинаково хороши. Допустим, вы сравниваете и и обнаруживаете, что . Теперь у вас осталось возможных ответов и осталось возможных перестановок (поскольку мы исключили половину из них).b a ≤ b 2 6 = 64 60aba≤b26=6460
Затем мы можем либо сравнить и , либо сравнить с одним из ключей, которые мы использовали в первом сравнении. Если мы сравним и и узнаем, что , то у нас есть оставшихся ответа и возможных перестановок. С другой стороны, если мы сравнимd c c d c ≤ d 32 30 ccdccdc≤d3230c с , и мы обнаружили , что ≤ C , мы имеем 40 возможных перестановок оставшихся, потому что мы исключили 1 / 3 из возможных перестановок (те, с ≤aa≤c401/3 ). У нас есть только 32 возможных оставшихся ответов, поэтому нам не повезло.c≤a≤b32
Итак, теперь мы знаем, что нам нужно сравнить первый и второй ключи, а также третий и четвертый ключи. Можно предположить, что у нас и c ≤ d . Если мы сравним е с любого из этих четырех ключей, по тем же соображениям мы использовали в предыдущем шаге, мы могли бы устранить только +1 / 3 из перестановок остальных, и мы не повезло. Таким образом, мы должны сравнить два ключа a , b , c , d . С учетом симметрии у нас есть два варианта: сравнить a и c или сравнить a и da≤bc≤de1/3a,b,c,dacad, Аналогичный аргумент подсчета показывает, что мы должны сравнить и c . Мы можем предположить без ограничения общности, что a ≤ c , и теперь мы имеем a ≤ b и a ≤ c ≤ d .aca≤ca≤ba≤c≤d
Так как вы попросили подсказку, я не буду разбираться с остальными аргументами. У вас осталось четыре сравнения. Используйте их с умом.