Адская задачка

braingames.ru — Очень интересно узнать ответ. За день так и не допёр.
Новости, Развлечения | boondocksaint 18:56 25.01.2011
170 комментариев | 76 за, 2 против |
#101 | 19:34 26.01.2011 | Кому: сеошник
Вот и у меня как-то так выходит: первый раз по чуть-чуть из ста бочек на рыло, одного урку не трогать(оставляем 100 бочек в "запас"). Так определяем, в какой сотне отравленная бочка(Если никто не умер, она в "запасной"). Далее аналогично определяем, в каком десятке бочек отравленная.(Если осталось 9 урок, наливаем всем, если 10 - одного не трогаем.) Итого за два часа проверено 990 бочек. Пока гости будут их выпивать, можно проверить остальные:)
Но как это ужать в два приема не знаю. В лучшем случае у меня получается три, в худшем -четыре.
#102 | 19:56 26.01.2011 | Кому: Всем
Бочки с вином напомнили одну добротную задачку:
Есть 100-этажка. При броске с кирпича с определённого этажа кирпич ломается (и со всех более высоких этажей - тоже сломается, а с более низких - нет). У нас есть 2 одинаковых кирпича. Требуется как можно быстрее (за наименьшее число бросков) выяснить этот самый номер этажа, с которого кирпичи начинают ломаться.
За сколько бросков вы справились бы?
#103 | 20:31 26.01.2011 | Кому: lioshenka
> [Вбрасывает]
> Это картина "Масленица", написанная душевнобольным человеком. Суть его болезни заключалась в том, что человек не видел вокруг себя НИЧЕГО, кроме своих фантазий и желаемого. Долгое время картина висела в холле гостиницы "Украина", но никто даже не подозревал, что ее художник - глубоко больной человек. В этой картине есть признак, который со 100%-й вероятностью показывает, что художник - с психическими отклонениями. Укажите этот признак.
>
> [censored]
> [censored]

[бегает кругами, бросает все подряд]
Ха!! Я понял! С психическими отклонениями, не ходожник, а прохфесор, ее анализировавший.
[рудется безмерно]
#104 | 21:18 26.01.2011 | Кому: Slawa
> [бегает кругами, бросает все подряд]
> Ха!! Я понял! С психическими отклонениями, не ходожник, а прохфесор, ее анализировавший.
> [рудется безмерно]

Тоже считаю, что с картиной все в порядке. Профессор анализировал, скорее всего, не картину, а комментаторов :)
#105 | 21:35 26.01.2011 | Кому: Mafia
> Есть 100-этажка. При броске с кирпича с определённого этажа кирпич ломается (и со всех более высоких этажей - тоже сломается, а с более низких - нет). У нас есть 2 одинаковых кирпича. Требуется как можно быстрее (за наименьшее число бросков) выяснить этот самый номер этажа, с которого кирпичи начинают ломаться.
> За сколько бросков вы справились бы?

т.е. надо составить наиболее оптимальный алгоритм для произвольного этажа?
RoM
правозащитник »
#106 | 21:38 26.01.2011 | Кому: Spamer009
> если до вечера так никто и не напишет - напишу.

Вечер вроде наступил :) Попробую ответить. Или мозг "замылился" или это решение.

Разбиваем бочки на сотни и присваиваем их каждому зэку
Разбиваем каждую сотню на десятки.
Первый зэк пробует свою сотню и все первые десятки из сотен других зэков
Второй зэк пробует свою сотню и все вторые десятки из сотен других зэков
Третий зэк и т.д
Тут варианты
Первый вариант
Если умирает только один (допустим первый) ясно, что яд в первой сотне в первой десятке (ведь все остальные десятки попробовали другие зэки). И у нас остается еще 9 зэков. Если каждый попробует по одной бочке, а одну отставят в сторонку то или один умрет ( кэп говорит, что яд в бочке из которой он пил) или все выживут и значит яд в отстасленной в сторону
Второй вариант
Умирают двое. Допустим первый и второй. А значит яд или первом десятке второй сотни или во втором десятке первой. Под подозрением 20 бочек, а у нас 8 зэков.
Проверяем тем же способом Из каждой бочки пьют уникальными парами.
Первый столбец бочки. второй пары зэков.
1 1/2
2 2/3
3 3/4
4 5/6
5 7/8
6 1/3
7 2/4
8 3/5
9 4/6
10 5/7
11 6/8
12 1/4
13 2/5
14 3/6
15 4/7
16 5/8
Если остановиться на этом то под подозрением еще 4 бочки.
Поэтому не остнавливаясь быстренько создадим уникальные тройки.
17 1/2/3
18 3/4/5
19 6/7/8
20 1/4/8

А потом смотрим . Если умерло двое - то смотри какая пбочку пила эта пара.
Если умерли трое - смотри какую бочку они вместе пили.

Вроде так :) Возможно ошибся, но не могу найти ошибку
RoM
правозащитник »
#107 | 21:43 26.01.2011 | Кому: Mafia
> Бочки с вином напомнили одну добротную задачку:
> Есть 100-этажка. При броске с кирпича с определённого этажа кирпич ломается (и со всех более высоких этажей - тоже сломается, а с более низких - нет). У нас есть 2 одинаковых кирпича. Требуется как можно быстрее (за наименьшее число бросков) выяснить этот самый номер этажа, с которого кирпичи начинают ломаться.
> За сколько бросков вы справились бы?

Так кирпича только два. Значит и броска только два? Если больше, то традиционнвм спообом угадывания "больше-меньше"
#108 | 21:47 26.01.2011 | Кому: RoM
> Так кирпича только два. Значит и броска только два? Если больше, то традиционнвм спообом угадывания "больше-меньше"

ну почему?
бросил с 1го - не разбился, со 2го - не разбился, с 3го... на 63 - разбился.
ответ готов =)
#109 | 21:51 26.01.2011 | Кому: Spamer009
>> Так кирпича только два. Значит и броска только два? Если больше, то традиционнвм спообом угадывания "больше-меньше"
>
> ну почему?
> бросил с 1го - не разбился, со 2го - не разбился, с 3го... на 63 - разбился.
> ответ готов =)

Дешевле бросать с каждого второго.

Типа со 2го, 4го, ... 64го - разбился первый кирпич, бросаем с 63 - разобьется или нет.
RoM
правозащитник »
#110 | 21:51 26.01.2011 | Кому: RoM
> Если остановиться на этом то под подозрением еще 4 бочки.
Виноват. Фигню ляпнул. Никаких троек. Ведь есть

17 1/5
18 2/6
19 3/7
20 4/8
RoM
правозащитник »
#111 | 21:55 26.01.2011 | Кому: Spamer009
>> Так кирпича только два. Значит и броска только два? Если больше, то традиционнвм спообом угадывания "больше-меньше"
>
> ну почему?
> бросил с 1го - не разбился, со 2го - не разбился, с 3го... на 63 - разбился.
> ответ готов =)

Понял:)
#112 | 21:56 26.01.2011 | Кому: Всем
прошли уже сутки, поэтому даю ответ на задачу про 1000 бочек

эту задачу хорошо решать, будучи программистом, потому как решается она при помощи двоичной системы счисления.
любое число до 1024 можно представить в двоичном виде при помощи всего 10 разрядов.

например 1000 = "1111101000", 666 = "1010011010", 77 = "0001001101"
(для тех, кто не понял как я это сделал - при помощи стандартного калькулятора винды, "вид - инженерный")

нумеруем все бочки таким образом.
а каждый смертник будет отвечать за свой разряд.

потом поим из бочек по принципу - стоит 1 в твоем разряде - пьешь, стоит 0 - пропускаешь.

после часа некоторая часть - умрет. зная их разряды, ставим в соответствующие места 1, а в остальные - 0.
после чего переводим в 10 систему и имееем отравленную бочку.
-------------------------------
в среднем каждый перепробует 500 бочек,
а из каждой бочки - не более 9
RoM
правозащитник »
#113 | 22:02 26.01.2011 | Кому: Spamer009
> прошли уже сутки, поэтому даю ответ на задачу про 1000 бочек
>
> эту задачу хорошо решать, будучи программистом, потому как решается она при помощи двоичной системы счисления.
> любое число до 1024 можно представить в двоичном виде при помощи всего 10 разрядов.
>
> например 1000 = "1111101000", 666 = "1010011010", 77 = "0001001101"
> (для тех, кто не понял как я это сделал - при помощи стандартного калькулятора винды, "вид - инженерный")
>
> нумеруем все бочки таким образом.
> а каждый смертник будет отвечать за свой разряд.
>
> потом поим из бочек по принципу - стоит 1 в твоем разряде - пьешь, стоит 0 - пропускаешь.
>
> после часа некоторая часть - умрет. зная их разряды, ставим в соответствующие места 1, а в остальные - 0.
> после чего переводим в 10 систему и имееем отравленную бочку.
> -------------------------------
> в среднем каждый перепробует 500 бочек,
> а из каждой бочки - не более 9

Прикольно. Каждую бочку пьет уникальная комбинация зэков. Вот я тупень... Про двоичные числа даже не подумал, хотя казалось бы..
Э! А ты хитрый! Тогда надо было в условиях задачи указать что не два часа, а час!
#114 | 22:06 26.01.2011 | Кому: RoM
> Про двоичные числа даже не подумал, хотя казалось бы

а в комментах предлагали округлить до 1024!!!
#115 | 22:11 26.01.2011 | Кому: Всем
А теперь правильные ответы от Бати:
1)Задача о таблетках.
Ответ: пополам разрезать
2)Задача о вине.
Ответ: 3 часа
самый удачный вариант: 3 часа и никто не умрет
самый неудачный вариант: 3 часа и 3 трупа
3)Задача о картине.
Ответ:[censored]
RoM
правозащитник »
#116 | 22:12 26.01.2011 | Кому: Spamer009
>> Про двоичные числа даже не подумал, хотя казалось бы
>
> а в комментах предлагали округлить до 1024!!!

Хм.. Т.е подумал, но неправильно подумал и вернулся к тысяче. Сейчас вспоминается, что давно подобную задачку решал и подобным способом. Остается утешаться, что эту задачу решил другим способом.
Пойду стукнусь головой.
#117 | 22:15 26.01.2011 | Кому: Батя
> А теперь правильные ответы от Бати:
> 2)Задача о вине.
> Ответ: 3 часа

вопрос был - "как бочку определить?"
:-)
#118 | 22:23 26.01.2011 | Кому: Mafia
> Бочки с вином напомнили одну добротную задачку:
> Есть 100-этажка. При броске с кирпича с определённого этажа кирпич ломается (и со всех более высоких этажей - тоже сломается, а с более низких - нет). У нас есть 2 одинаковых кирпича. Требуется как можно быстрее (за наименьшее число бросков) выяснить этот самый номер этажа, с которого кирпичи начинают ломаться.
> За сколько бросков вы справились бы?

От 2-х до 51 броска
#119 | 22:25 26.01.2011 | Кому: Mafia
> Есть 100-этажка. [...] За сколько бросков вы справились бы?

я - максимум за 19, а там как повезет
#120 | 22:32 26.01.2011 | Кому: Spamer009
>> А теперь правильные ответы от Бати:
>> 2)Задача о вине.
>> Ответ: 3 часа
>
> вопрос был - "как бочку определить?"
> :-)

Способов-то много, нужно же найти из них самый быстрый и рациональный :-)
#121 | 22:35 26.01.2011 | Кому: Всем
Отблин, заснуть не мог, про бочки думал. Придумал )
А тут уже решение.. эхх..

Ну, для тех, кто ещё не понял вдруг, на пальцах свои мысли..
Сначала подумал, можно ли организовать для случая попроще, когда бочек 4, а смертников только 2.
Если первому скормить пойло из бочек 1 и 3, а второму - пойло из 1 и 2, то если
1. оба загнулись, то бочка 1 с ядом
2. первый загнулся, то бочка 3 с ядом
3. второй загнулся, то бочка 2 с ядом
4. никто не загнулся, то бочка 4 с ядом

Если обозначить факт пития из бочки циферкой, 1 - пить, 0 - не пить, то получится схематично так:
первому: 1010 (из 1 и 3 - наливать, из 2 и 4 - не наливать)
второму: 1100 (из 1 и 2 - наливать, из 3 и 4 - не наливать)

Расширил дальше на случай из 8 бочек и 3 смертников:
1: 10101010
2: 11001100
3: 11110000

Если заметить, то справа-налево в столбиках идут числа от 0 до 7 в двоичной системе счисления.
Таким же макаром расширяем до 10 смертников и 1024 бочек.

Выходит, 2 часов - много, достаточно одного часа!!
#122 | 22:40 26.01.2011 | Кому: Spamer009
>> Есть 100-этажка. [...] За сколько бросков вы справились бы?
>
> я - максимум за 19, а там как повезет

Ага, но можно быстрее, чем за 19.

> От 2-х до 51 броска


Нужна трудоёмкость в наихудшем случае. 51 - многовато будет!
#123 | 22:41 26.01.2011 | Кому: Всем
Нда... Без пары-тройки высших образований на Вотте делать нечего!!!
#124 | 22:46 26.01.2011 | Кому: Mafia
> Выходит, 2 часов - много, достаточно одного часа!!

Ишь ты какой хитрец! :-)
Голова!
А я решал в 10-ричной системе счисления :-)
В три раза дольше)
#125 | 22:47 26.01.2011 | Кому: Mafia
> Нужна трудоёмкость в наихудшем случае. 51 - многовато будет!

И как же быстрее, если у тебя всего 2 кирпича?
#126 | 22:48 26.01.2011 | Кому: Mafia
> Ага, но можно быстрее, чем за 19.

эх... а я уже "доказал" что это невозможно и разработал формулу для общего случая...
----------------------------------

кстати, камрады, кто-нибудь в курсе, каким образом анализируются задачи на взвешивание?

задачи типа "среди 10 монет одна фальшивая. фальшивая более легкая. на весах без гирь за 3 взвешивания найти фальшивую".

так вот вопрос - а как определяется минимальное число взвешиваний при котором задача еще решается? особенно если монет скажем 40, фальшивых несколько, да и с весом непонятки.

есть ли какой специальный раздел математики?
#127 | 22:58 26.01.2011 | Кому: Всем
Кстати, логичнее взять 1000 зеков - и час уйдет, и сдохнет только один :)
#128 | 23:01 26.01.2011 | Кому: Spamer009
> так вот вопрос - а как определяется минимальное число взвешиваний при котором задача еще решается?

Можно сказать, при каких условиях однозначно не решается.
Условие:
число_вариантов_результата_взвешивания^число_попыток_взвешивания >= число_возможных_вариантов_ответа

Если условие нарушено, то однозначно не решается. Если выполнено - возможно решается.
Классический пример: за 3 взвешивания узнать какая из 12 монет фальшивая (легче или тяжелее остальных) и сказать, тяжелее она или легче.
Здесь:
число_вариантов_результата_взвешивания = 3 (больше, меньше, равно)
число_попыток_взвешивания = 3
число_возможных_вариантов_ответа = 24 (первая легче, первая тяжелее, вторая легче, вторая тяжелее, ...., 12-ая легче, 12-ая тяжелее)

Проверяем:
3^3=27 >= 24

Значит вполне возможно, что задачка разрешима (она разрешима, проверено).

А вот если б монет было не 12, а 14 - то задачка бы не решилась (т.к. 27>=28 не выполнено)

>> Нужна трудоёмкость в наихудшем случае. 51 - многовато будет!

> И как же быстрее, если у тебя всего 2 кирпича?

Думайте, камрады!
А я спать :)
#129 | 23:21 26.01.2011 | Кому: Mafia
> Думайте, камрады!
> А я спать :)

Чего тут думать-то?
У тебя ошибка, вот и всё)
#130 | 16:31 27.01.2011 | Кому: Spamer009
> в среднем каждый перепробует 500 бочек,
> а из каждой бочки - не более 9

А персчитай в литрах на рыло сколько получится?
ИМХО самый простой вариант разбить на сотни, а потом перекрестным способом уже вычислить отравленную бочку. Для перекрёстного способа хватит и 9 негров зеков.
#131 | 18:02 27.01.2011 | Кому: Батя
> Чего тут думать-то?
> У тебя ошибка, вот и всё)

Ну как же, вот хотя бы почти вдвое лучше метод: бросаем первый (пока живой кирпич) с 25, 50, 75 и 100 этажей последовательно. Если на каком-то разобьётся (например, на 50), то вторым кирпичом добиваем от предыдущего проверенного до номера на котором разбилось (от 26 до 49) невключительно. В худшем случае до 28 (4+24) бросков.

> А персчитай в литрах на рыло сколько получится?


Если по чайной ложке из бочки, то хоть из полтыщщи бочек наливай, сильно больше литра на рыло не выйдет никак.

> ИМХО самый простой вариант разбить на сотни, а потом


Двух часов может не хватить тогда.
#132 | 19:34 27.01.2011 | Кому: Mafia
> Ну как же, вот хотя бы почти вдвое лучше метод: бросаем первый (пока живой кирпич) с 25, 50, 75 и 100 этажей последовательно. Если на каком-то разобьётся (например, на 50), то вторым кирпичом добиваем от предыдущего проверенного до номера на котором разбилось (от 26 до 49) невключительно. В худшем случае до 28 (4+24) бросков.

Хехе :-)
У меня получилось от 2-х до 14 бросков :-)
#133 | 20:02 27.01.2011 | Кому: Всем
Ан, нет!
Извиняюсь, перепроверил, получилось от 2-х до 18 :-)
#134 | 20:37 27.01.2011 | Кому: Всем
ну так что с кирпичами? когда будет правильный ответ?

п.с. а минимум бросков все-таки 1 - если он с первого этажа расколется :)))
#135 | 21:06 27.01.2011 | Кому: Батя
>> Ну как же, вот хотя бы почти вдвое лучше метод: бросаем первый (пока живой кирпич) с 25, 50, 75 и 100 этажей последовательно. Если на каком-то разобьётся (например, на 50), то вторым кирпичом добиваем от предыдущего проверенного до номера на котором разбилось (от 26 до 49) невключительно. В худшем случае до 28 (4+24) бросков.
> Ан, нет!
> Извиняюсь, перепроверил, получилось от 2-х до 18 :-)

Хм. Действительно, если бросать каждый 10 этаж то от 1 до 18 попыток. Самое оптимальное.
#136 | 21:35 27.01.2011 | Кому: Spamer009
> ну так что с кирпичами? когда будет правильный ответ?
>
> п.с. а минимум бросков все-таки 1 - если он с первого этажа расколется :)))

Тогда алгоритм будет не оптимальным.
#137 | 21:36 27.01.2011 | Кому: Slawa
> Хм. Действительно, если бросать каждый 10 этаж то от 1 до 18 попыток. Самое оптимальное.

И где ж там 1 попытка будет, если каждый 10-ый?
#138 | 21:38 27.01.2011 | Кому: Mafia
> Бочки с вином напомнили одну добротную задачку:
> Есть 100-этажка. При броске с кирпича с определённого этажа кирпич ломается (и со всех более высоких этажей - тоже сломается, а с более низких - нет). У нас есть 2 одинаковых кирпича. Требуется как можно быстрее (за наименьшее число бросков) выяснить этот самый номер этажа, с которого кирпичи начинают ломаться.
> За сколько бросков вы справились бы?

Интересно, а с тремя кирпичами? И еще интереснее - оптимальное количество кирпичей для опытов!
#139 | 21:40 27.01.2011 | Кому: Батя
>> Хм. Действительно, если бросать каждый 10 этаж то от 1 до 18 попыток. Самое оптимальное.
>
> И где ж там 1 попытка будет, если каждый 10-ый?

Торможу. Конечно от 2-х до 19-ти.
#140 | 21:55 27.01.2011 | Кому: Slawa
>И еще интереснее - оптимальное количество кирпичей для опытов!

7 кирпичей :)
#141 | 21:56 27.01.2011 | Кому: Slawa
> Торможу. Конечно от 2-х до 19-ти.

Откуда 19-ый вылез?
#142 | 22:13 27.01.2011 | Кому: Батя
>> Торможу. Конечно от 2-х до 19-ти.
>
> Откуда 19-ый вылез?

Если разбивается на 99 и брать на первом шаге по 10, на втором по 1:

10 20 30 40 50 60 70 80 90 100 91 92 93 94 95 96 97 98 99
count = 19

Если разбивается на 98 и брать на первом шаге по 11, на втором по 1:
11 22 33 44 55 66 77 88 99 89 90 91 92 93 94 95 96 97 98
count = 19
#143 | 22:37 27.01.2011 | Кому: Slawa
> Если разбивается на 99 и брать на первом шаге по 10, на втором по 1:

аналогично.
оптимально делить на число, равное округленному корню от максимального числа этажей.
#144 | 22:39 27.01.2011 | Кому: Всем
Вечер, возможно туплю, но количество шагов для n кирпичей и m этажей будет =( m^(1/n)+...+m^(1/1) )-(n-1)
#145 | 22:40 27.01.2011 | Кому: Slawa
>10 20 30 40 50 60 70 80 90 100 91 92 93 94 95 96 97 98 99
> count = 19

1 бросок лишний :-)
#146 | 22:46 27.01.2011 | Кому: Батя
>>10 20 30 40 50 60 70 80 90 100 91 92 93 94 95 96 97 98 99
>> count = 19
>
> 1 бросок лишний :-)

Какой? Пропустить вроде как мы не можем.
#147 | 22:57 27.01.2011 | Кому: Slawa
> Вечер, возможно туплю, но количество шагов для n кирпичей и m этажей будет =( m^(1/n)+...+m^(1/1) )-(n-1)

Конечно туплю: = ( m^(1/n) + ( m / m^(1/n) )^(1/n-1) + ... + ... ^(1/1) ) - (n-1)
#148 | 22:58 27.01.2011 | Кому: Slawa
> Какой? Пропустить вроде как мы не можем.

100
на этом этаже кирпич в любом случае разобьется ;)
#149 | 06:00 28.01.2011 | Кому: Всем
19 - не предел, можно существенно улучшить. Вечером даю отгадку, если никто не решит.
#150 | 06:13 28.01.2011 | Кому: Батя
>> Какой? Пропустить вроде как мы не можем.
>
> 100
> на этом этаже кирпич в любом случае разобьется ;)

А ну как уцелеет! Вариант, что на 100-м не разобьётся тоже нужно рассматривать.

"Какой харощий цэмэнт, не отмывается савсэм!" (ц)
Войдите или зарегистрируйтесь чтобы писать комментарии.