vak: (Default)
[personal profile] vak
Мне тут надысь задачку подсунули, которую я слёту не смог решить. Дано: небоскрёб высотой 100 этажей и две бутылки водки. Требуется определить этаж, с которого бутылка, выброшенная в окно, разбивается. За минимальное количество попыток, естественно.

Есть верные решения от [livejournal.com profile] maugletta, [livejournal.com profile] trustix, [livejournal.com profile] chtovimenitebe, [livejournal.com profile] skolk, [livejournal.com profile] ircicq, [livejournal.com profile] denis_iv. А [livejournal.com profile] parovoz и [livejournal.com profile] dadv дали общую формулу для N этажей.

[livejournal.com profile] spamsink предложил идею решения для N этажей и K бутылок.

Date: 2010-12-06 23:58 (UTC)
From: [identity profile] cema.livejournal.com
Тут подумать надо, а подумать нету, сплю.

Т.е. я прикинул, но строго думать сейчас не могу. У меня пока получилось не более 17 бросаний для 100 этажей и 2 бутылок, но доказывать оптимальность (или неоптимальность) не стану, устал. Не третий курс, увы.

Рассуждение, пока я спал, было такое. С одной бутылкой и N этажами нужно пробовать этажи 1, 2 и т.д., пока не разобьется, т.е. до N бросаний.

Если две бутылки и 3 этажа, пробуем первую на этаже 2, дальше понятно.

Если две бутылки и 4 этажа, пробуем первую на этаже 2. Если разбилась, вторую на этаже 1; если нет, то имеем задачу "две бутылки, два этажа", только нумерация этажей начинается не с 1, а с 3.

Если две бутылки и N этажей, то первой бутылкой можно пробовать этаж X. Если разбилась, то теперь задача "1 бутылка, X-1 этажей", если нет, то "2 бутылки, N-X этажей". Выписывать рекурсивное определение функции я не буду, потому что сплю и пора бежать. Конечно, на кандидатском минимуме спать нельзя. (Бежать, наверно, можно.)

10, 20, 29, 38, 46, 54, 61, 67, 73, 78, 83, 87, 91, 94, 97, 99, 100.
Edited Date: 2010-12-07 00:35 (UTC)

Re: :)

Date: 2010-12-07 14:24 (UTC)
From: [identity profile] cema.livejournal.com
Так это нужно не спать.

(Я вчера специально стал писать ответ, чтобы не заснуть окончательно.)
Edited Date: 2010-12-07 14:28 (UTC)