задачка про вино
Nov. 20th, 2010 12:50 pmВот хорошая математическая задачка, не очень сложная. Подходит для решения в уме, но если не получается в уме, можно и на бумаге :)
У вас есть 240 бочек вина, ровно в одной из них вино отравлено. Любой, кто выпивает отравленное вино, умирает в течение 24 часов. У вас есть пять рабов, которыми вы готовы пожертвовать, чтобы определить, какая бочка отравлена. Определите отравленную бочку, уложившись в 48 часов.
P.S. Я постараюсь скрывать правильные ответы поначалу, но не обещаю. Так что не заглядывайте в комментарии, если хотите сами решить.
P.P.S. OK, уже очень много правильных ответов. Я раскрываю все скрытые до сих пор правильные. Теперь точно не заглядывайте, если хотите сами :)
У вас есть 240 бочек вина, ровно в одной из них вино отравлено. Любой, кто выпивает отравленное вино, умирает в течение 24 часов. У вас есть пять рабов, которыми вы готовы пожертвовать, чтобы определить, какая бочка отравлена. Определите отравленную бочку, уложившись в 48 часов.
P.S. Я постараюсь скрывать правильные ответы поначалу, но не обещаю. Так что не заглядывайте в комментарии, если хотите сами решить.
P.P.S. OK, уже очень много правильных ответов. Я раскрываю все скрытые до сих пор правильные. Теперь точно не заглядывайте, если хотите сами :)
no subject
Date: 2010-11-20 11:01 am (UTC)no subject
Date: 2010-11-20 11:03 am (UTC)no subject
Date: 2010-11-20 11:05 am (UTC)no subject
Date: 2010-11-20 11:08 am (UTC)no subject
Date: 2010-11-20 11:11 am (UTC)no subject
Date: 2010-11-20 11:11 am (UTC)Тут такое усовершенствование не пройдет, т.к. есть только 48 часов.
no subject
Date: 2010-11-20 11:17 am (UTC)Поскольку я еврейский рабовладелец - травить рабов мне запрещено :P
no subject
Date: 2010-11-20 11:17 am (UTC)no subject
Date: 2010-11-20 11:17 am (UTC)no subject
Date: 2010-11-20 11:23 am (UTC)no subject
no subject
Date: 2010-11-20 11:29 am (UTC)дадим рабу номер i в начале испытания вино из всех бочек с номерами, в i-м разряде которых 0
и еще через 24 часа, если не умер — вино из всех бочек с номерами, в i-м разряде которых 1
через 48 часов разложим рабов по порядку
на рабах, умерших в первые 24 часа, напишем 0
на рабах, умерших в следующие 24 часа, напишем 1
на живых рабах напишем 2
получим номер отравленной бочки
правильно?
1016
Date: 2010-11-20 11:29 am (UTC)no subject
Date: 2010-11-20 11:34 am (UTC)no subject
Date: 2010-11-20 11:34 am (UTC)no subject
Date: 2010-11-20 11:39 am (UTC)no subject
Date: 2010-11-20 11:42 am (UTC)no subject
Date: 2010-11-20 11:42 am (UTC)no subject
Date: 2010-11-20 11:43 am (UTC)no subject
Date: 2010-11-20 11:45 am (UTC)По результатам мы знаем, равно ли (N mod 3) 0,1 или 2.
Для второго раба группируем бочки по три (т.е. смешиваем вино из них)- получаем 80 троек. Сначала он выпивает "коктейль" из 26 троек с номерами М такими, что (M mod 3)=1, если остается жив - с (M mod 3)=2.
Для третьего - группируем бочки по девять, действуем аналогично. Четверому и пятому - группируем бочки по двадцать семь и восемьдесят штук.
Зная пять остатков от деления на три, однозначно определяем отравленную бочку.
no subject
Date: 2010-11-20 11:53 am (UTC)no subject
Date: 2010-11-20 11:53 am (UTC)частичное решение - но мне кажется - путь к правильному:
1. смешиваем вино из первых 120 бочек - даем попробовать 1 тесеру.
2. смешиваем вино из всех нечетных бочек - даем поробовать второму тестеру
черех 24 часа можем вычислить 60 отравленых бочек - и точно определить что в 180 бочках вино не отравлено.
no subject
Date: 2010-11-20 12:02 pm (UTC)no subject
Date: 2010-11-20 12:04 pm (UTC)и 60 бочек с вопросом.
(но бухать уже можно)
все повторяем еще раз.
no subject
Date: 2010-11-20 12:06 pm (UTC)В первый день делим бочки на 32 группы, нумеруем группы в двоичной системе и даём каждому из пяти рабов попробовать из тех бочек, у которых "его" бит равен единице. (Естественно, пробовать надо все бочки из группы.) Посмотрев, кто из рабов помер, определяем, в какой группе отравленная бочка. На следующий день повторяем эксперимент с этой группой бочек и оставшимися рабами.
Теперь статистика.
Группу 00000 не будет пробовать никто. Если яд там, то на следующий день у нас будет 5 рабов. Значит, в эту группу можно включить 32 бочки.
Группы 00001, 00010, 00100, 01000 и 10000 будут пробовать по одному рабу. Если яд там -- останется 4 раба. В эти группы можно включить по 16 бочек.
Продолжая рассуждать так же, получаем: 10 групп по 8 бочек, 10 групп по 4 бочки, 5 групп по 2 бочки и одну группу из одной бочки.
Итого мы можем проверить 32+5*16+10*8+10*4+5*2+1=243 бочки. Получилось даже больше, чем 240.
(Интересно было бы доказать, что это максимум.)