Название: Логика №2 Отправлено: LazarusLong от Апрель 25, 2008, 01:50:23 Патриций решил устроить праздник и для этого приготовил 240 бочек вина. Однако к нему пробрался недоброжелатель, который подсыпал яд в одну из бочек. Недоброжелателя тут же поймали, дальнейшая его судьба неизвестна.
Про яд известно, что человек, его выпивший, умирает в течение 24 часов. До праздника осталось два дня, то есть 48 часов. У патриция есть пять рабов, которыми он готов пожертвовать, чтобы узнать в какой именно бочке яд. Расскажите каким образом можно это узнать. Большая просьба не гуглить. Ответ найти можно за пару минут, но ведь может быть интересно людям порешать)))). Название: Re: Логика (очередная) Отправлено: FazU от Апрель 25, 2008, 08:47:29 1шаг: разделить бочки на 5 рабов поровну. рабы выпивают каждый из своих бочек по глотку. Через 24 часа один клеит ласты.
2 шаг: Те бочки из которых пил умерший раб делят поровну наоставшихся и повторяют процедуру. Через 24 часа умирает еще один раб. А у Патриция будет уверенность в том, что 240*4/5+48*3/4=192+36=228 бочек не отравлены. *** шаг 3 (злобно уничтожительный): Оставшиеся 12 бочек патриций тоже использует. Вино из них он подаст своим недоброжелателям. И случай выберет из них кто будет жив, а кто мертв. *** Не гуглил. (Отправлено в: 25 Апреля 2008, 08:41:29) Тут эта если б не было написано, что судьба диверсанта не известна можно было бы предположить, что он тоже может участвовать в "дегустации". И тогда можно было бы уверенно говорить об отсутствии яда в большем количестве бочек. Повторив описаный алгоритм, но исходя уже из 6 "дегустаторов", получим, что об отсутствии яда известно в 232 бочках, а 8 достанется недоброжелателям. Название: Re: Логика (очередная) Отправлено: broken-wings от Апрель 25, 2008, 08:56:05 FazU не люблюподобные выводы
Вино из них он подаст своим недоброжелателям все же задача не на импровизацию... я все же погуглил, не удержался,так там тоже всяких домыслов полно - в задаче не скахано про то,что у Патрциия только 5 рабов, может у него их как раз 240... и тогда потеря будет всего один раб...ну и так далее...Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 09:02:03 FazU, нет нужно точно идентифицировать бочку с ядом за 48 часов.
Дегустаторов всего 5. Название: Re: Логика (очередная) Отправлено: broken-wings от Апрель 25, 2008, 09:06:15 LazarusLong и бочка должна быть точно определена. искал решение - но нашел лишь наподобии удачно определить 8 бочек...
Лишь одна? Название: Re: Логика (очередная) Отправлено: FazU от Апрель 25, 2008, 09:10:22 Ну одна определится тогда когда кто-то из недоброжелателей копытнется))
А моя импровизация и мои выводы помоему восприняты слишком сухо и серьёзно. Че вы такие не веселые с утра? Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 09:13:07 Нужно ОДНОЗНАЧНО определить бочку с ядом ДО НАЧАЛА праздника.
FazU, твой ход мыслей понятен, но это не решение задачи:) Я тоже сперва так думал. Кстати по слухам подобные задачки любят задавать программерам на собеседованиях в Google :). Название: Re: Логика (очередная) Отправлено: FazU от Апрель 25, 2008, 09:14:54 Прикольно )))
Саша, респект за ход мысли!! :D Название: Re: Логика (очередная) Отправлено: grimgav от Апрель 25, 2008, 09:36:31 Разделить бочки по ровну на 5 рабов. Т.е. по 48 на рыло. Каждые 10 минут (например, лень считать интервалы чтоб уложиться в 48 часов). И засечь через сколько часов после начала распития скопытиться один дегустатор. Соответственно отнять 24 часа и вычислить какая бочка отравлена =)
Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 09:49:07 grimgav, да это был один из моих первых вариантов решения. Но фишка в том, что выпивший вино умрет не ровно через 24 часа, а В ТЕЧЕНИИ 24 часов. То есть может быть и через 10 минут.
(Отправлено в: 25 Апреля 2008, 09:38:12) шаг: разделить бочки на 5 рабов поровну. рабы выпивают каждый из своих бочек по глотку. Через 24 часа один клеит ласты. Кстати не приходило в голову, что можно разделить и на 6 частей - каждый раб пьёт из 40 бочек. А из 40 последних бочек - ни пьёт никто. Соответственно если кто-то умер - мы знаем в каких из 40 бочек отрава. А если никто не умер - то яд в одной из бочек из которых никто не пил (это не намек на решение), просто усовершенствование метода предложенного FazU. Таким образом можно локализовать интервал до 8 бочек. Но это тоже не решение.Название: Re: Логика (очередная) Отправлено: NunTerix от Апрель 25, 2008, 03:09:19 Знаю решениЯ, если бы в задаче было указано не 48, а 72 часа ... Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 03:36:14 Знаю решениЯ, если бы в задаче было указано не 48, а 72 часа ... Увы, нужно решить именно за 48. За 72 задача решается вообще элементарно )))Название: Re: Логика (очередная) Отправлено: Fr0sT от Апрель 25, 2008, 03:45:18 Разделим общее кол-во бочек на 16 частей (по 15шт). Первые 5 частей пьют соответственно 1,2,...,5 рабы. Одну часть не пьет никто. Оставшиеся 10 частей пьют сразу 2 раба. (т.е. 1 и 2, 1 и 3 и т.д. Таких сочетаний: С52=120/12=10). Через 24 умирают либо 2 раба, либо 1, либо 0. Если 0 или 1 - составляем 15 разных групп из 4-5 рабов и через 24 часа узнаем нужную бочку. Если же умерло 2 раба, то аналогично они пробуют по 2 бочки (1 не пробует никто). Дальше ??? - не хватило рабов(или времени).
з.ы. или мозга у меня Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 04:06:18 Fr0sT, ты на верном пути
Название: Re: Логика (очередная) Отправлено: Fr0sT от Апрель 25, 2008, 04:58:57 Итоговый вариант
Чтобы определить бочку, необходимо, чтобы на 2ом шаге каждый раб(или их группа) пили только из одной бочки каждый. Для этого разбиваем кол-во бочек так: 1,2,...,5 пьют из 18 бочек каждый(т.к. 4 оставшихся раба смогут проверить C41+C42+C43+2(1 не пробует никто) бочек), группы по 2 раба пьют из 8 бочек каждая(3 оставшихся могут проверить 8 бочек), группы по 3 раба пьют из 4 бочек. Тогда 5*18+10*8+10*4+(кол-во пустых бочек)=240 Следовательно, на 1ом шаге необходимо оставить 240-90-80-40=30 бочек. Если отравленная - среди этих 30, то 5 рабов (никто не умрет) смогут определить нужную. Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 06:29:04 Fr0sT, что-то не совсем внятно ты описал кто откуда пьёт.
1,2,3,4,5-й пьют из 18-ти бочек каждый? То есть охватили 72 бочки. Кстати 4 раба не проверят 18 бочек. Они проверят максимум 16 (16 - 24). Название: Re: Логика (очередная) Отправлено: Fr0sT от Апрель 25, 2008, 06:54:30 Кстати 4 раба не проверят 18 бочек. Ошибочка вышла)То есть охватили 72 бочки. А вот этого не понял. Почему не 16*5=80?Получается 16*5+8*10+4*10+2*5=210. Из 30 бочек на 1ом шаге никто не пьет. 5 рабов достаточно Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 07:13:45 Почему не 16*5=80? Ошибся, с кем не бывает.В общем правильно. +1. Приведу моё решение. Очевидно, что один раб может иметь два состояния - жив и мертв. То есть условно говоря - это один бит информации :). Одного раба достаточно для того, что бы проверить две бочки (выпил из одной - если не умер - значит отравлена друга, если умер - значит отравлена та из которой пил). 2 раба могут проверить 4 бочки (1-й выпил из первой бочки, 2-й из второй, из третьей выпили оба из четвертой не пил никто), 3 раба - аналогичным образом проверяют 8 бочек, 4 раба - 16 бочек, 5 рабов - 32 бочки. Таким образом план первой пьянки строим следующим образом: Затем из 10 бочек пьют 5 рабов, причем пьют так, чтобы из каждой бочки выпили только 4 раба. Если отравлена одна из этих 10 - то 4 раба умрут и выживет 1. Он и определит, в какой из двух бочек, из которых не пил, находиться яд. Затем берётся 40 бочек. 5 рабов можно организовать по 3 раба десятью комбинациями. Каждая тройка рабов пьёт из определённых 4 бочек. Если яд будет в одной из этих 40 бочек, тройка умрёт, а оставшиеся 2 раба проверёт доставшиеся им 4 бочки. Затем берётся 80 бочек. 5 рабов можно разбить на пары опять же десятью способами. Если какая-то пара померла, то попробованные ей 8 бочек проверит выжившая тройка. Затем берётся 80 бочек. Каждый раб пьёт из 16ти. Если один умирает, оставшиеся 4 определяют яд в 16ти бочках, опробованных ими. Конец первой пьянки И наконец на вторую попойку можно зарезервировать 32 бочки. Если рабы не умрут, значит яд в этих 32х бочках. За один присест они их проверят. Итак, общее число бочек - 1+10+40+80+80+32 = 243 бочки. Т.е. 5ю рабами можно проверить 243 бочки за два захода :) Название: Re: Логика (очередная) Отправлено: grimgav от Апрель 25, 2008, 08:11:23 LazarusLong, а как же 48 часов и смерть в течении 24-х?
Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 08:21:53 grimgav все там соблюдается.
Все действия первой пьянки проводятся сразу. То есть 1. Все рабы выпили из 1-й бочки. 2. Из 10 бочек пьют 5 рабов, причем пьют так, чтобы из каждой бочки выпили только 4 раба. 3. 40 бочек. Каждая тройка рабов пьёт из определённых 4 бочек. 4. 80 бочек. Из каждой бочки пьет пара рабов. 5. 80 бочек. Каждый раб пьет из 16. Ждем 24 часа. Если померли все, значит сработал пункт 1 и ясно какая бочка отравлена. Если померло только четверо, значит сработал пункт 2. И оставшийся в живых раб может определить из двух бочек из которых он не пил в какой яд. Если померло трое, значит сработал пункт 3. По тому, какие рабы умерли, мы знаем в каких 4 бочках яд. Оставшиеся 2 рабов определяют в какой конкретно. Если помрело двое - сработал пункт 4. Оставшиеся трое определяют в какой из 8 бочек был яд. Если помер 1 - оставшиеся 4 определяют в какой из 16 бочек из которых пил покойник яд. Если никто не помер - значит яд в одной из оставшихся бочек и 5 рабов легко определяют в какой. Название: Re: Логика (очередная) Отправлено: Sochin от Апрель 25, 2008, 08:42:43 А может все-таки электрический вспоминатель недоброжелателю?
Название: Re: Логика (очередная) Отправлено: Fr0sT от Апрель 25, 2008, 08:50:28 А если он обманет?
Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 08:53:15 А может все-таки электрический вспоминатель недоброжелателю? Самое рациональное решение :)А вообще можно было бы сказать, что задача не имеет решения. Так как патриций вряд ли бы додумался за 48 часов :) Название: Re: Логика (очередная) Отправлено: NunTerix от Апрель 25, 2008, 09:00:45 Off-Topic - помечено автором как "не соответствует обсуждаемой теме" Я уверен, Решения подобных задач лучше изображать графически, а не письменность ("печатанностью") ... лучше для понимания ;) Название: Re: Логика (очередная) Отправлено: LazarusLong от Апрель 25, 2008, 09:10:44 NunTerix, согласен но рисовать сейчас 240 бочек и все варианты как их 5 рабов пьют мнэ.... это несколько трудоемко :)
Название: Re: Логика (очередная) Отправлено: grimgav от Апрель 25, 2008, 10:51:43 LazarusLong, просто ВАУ !)
|