|
|
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Классическая задача: У нас есть 100-этажное здание и 2 яйца одинаковой неизвестной прочности. Мы можем бросать яйца с любого этажа до тех пор пока оба не разобьются. Если яйцо разбивается с n-этажа, то разбивается с любого этажа k>n. f e если яйцо начинает разбиваться с 25 этажа (т е с 24 ещё не разбивается), то для n in [26,100] яйцо тоже будет разбиваться. Найти минимальное количество бросков для определения минимального этажа с которого разбивается яйцо. Решением данной задачи, как известно, будет 14. (вроде бы так, сейчас проверил). Допустим у нас есть k этажей и 2 яйца, такую задачу я вроде-бы тоже понимаю как решить. В общем виде. Сейчас пытался решить данную задачу для k-этажей и d яиц. Пока не получается. Может быть кто-нибудь решал ранее ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 02:50 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
По сути задача сводится к поиску наивысшего этажа где яйцо не разбивается. Количество яиц роли не играет, т.к. яйца не взаимозависимы, т.е. максимальное количество бросков одинаково для любого яйца. Тут все сводится к поиску наивысшего этажа этажа, с которого не разбивается. Для k этажей log2(k) округлить до целого в большую сторону. Для d яиц результат умножить на d. log2(100) = 6,6... *log2() - логарифм по основанию 2 Данная задача больше теоритическая, давай ее в другую плоскость переведем: "Найти максимальный этаж для одного яйца за минимальное количество шагов." Т.е. на старте ты задаешь какое-то количество этажей и генератором случайных чисел прочность яйца (максимальный этаж с которого не разбивается), а дальше ищешь эту прочность. Давай, изобретай наиболее оптимальный алгоритм поиска :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 08:39 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Dima_TТут все сводится к поиску наивысшего этажа этажа, с которого не разбивается. Для k этажей log2(k) округлить до целого в большую сторону Нужно найти именно минимальное количество попыток для обнаружения этого этажа. Если яйцо одно, то их 99. Нужно начать с первого, и так далее +1. Я могу кинуть сначала с 10 например, но если оно разобьётся сразу, то больше у меня попыток нет. Таким образом следующие утверждения будут верны: Для одного яйца минимальная сумма бросков 99(если на 99 не разбился, значит на 100). Для двух -14 бросков. Яйца ресурс ограниченный, всего два. Одно разбилось, второе разбилось. Больше не дадут Определимся с постановкой, потом алгоритм :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 09:00 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Чего-то я не проснулся похоже :) не учел что битые яйца повторно не задействовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 09:39 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Вот-вот :) Доброе утро :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 09:42 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Ну, первый алгоритм, приходящий на ум: первым яйцом пройтись, пропуская каждые i этажей; как только оно разбилось, вторым пройти последний промежуток по этажам. Соответственно, кол-во попыток - это минимум суммы (для каждого возможного i) i + (число_этажей / ( i + 1)), где (число_этажей / ( i + 1)) нужно округлить до целого вверх. // Только вот 14 не получается. Видимо это не всё-таки не оптимальное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 10:29 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Шаг первого прохода убывающий, на 1. Т.к. после каждого шага одна попытка использована. По сути арифметическая прогрессия с шагом -1. Т.е. требуется найти минимальное целое x удовлетворяющее условию x * (x + 1) / 2 >= k (где x * (x + 1) / 2 - сумма всех элементов последовательности от x до 1) т.е. решить уравнение x*(x+1)=2k и полученный x округлить в большую сторону. SashaMercuryДля одного яйца минимальная сумма бросков 99(если на 99 не разбился, значит на 100). Почему? по условиям задачи не заявлено что с 100-го этажа гарантировано разобьётся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 11:02 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
jmp_originalНу, первый алгоритм, приходящий на ум: первым яйцом пройтись, пропуская каждые i этажей; как только оно разбилось, вторым пройти последний промежуток по этажам.Алгоритм неверен. Шаг должен быть динамическим. Допустим, этажей M, а минимальное количество попыток равно N. Тогда первый бросок мы можем совершить с этажа номер N. Если яйцо разбилось, второе последовательно кидаем максимум N-1 раз, идя снизу вверх, и находим критическую точку. Всего совершено максимум 1 + (N-1) = N бросков, всё сходится. Если оно не разбилось, то теперь кидаем его с этажа N + (N-1). Если яйцо разбилось, второе последовательно кидаем максимум N-2 раз, идя снизу вверх, и находим критическую точку. Всего совершено максимум 2 + (N-2) = N бросков, всё сходится. И так далее... третий бросок первого яйца будет с N + (N-1) + (N-2) этажа, 4-й... и, наконец, чтобы выполнить задачу, (N-1)-й бросок мы должны совершить не менее чем с (М-1)-го этажа (и неважно, какое яйцо мы будем бросать с М-го этажа, первое или второе). Итого - нужно найти такое N, сумма всех чисел от N до 1 не меньше M. Для М=100 это N=14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 11:48 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Аналогично решается и задача для произвольного количества яиц - но там получается уже ни разу не линейное уравнение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 11:49 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryпытался решить данную задачу для k-этажей и d яиц. для k-этажей я показал, а вот с яйцами сложнее. для 3-х яиц 1 шаг x * (x + 1) / 2 2 шаг (x - 1) * ((x - 1) + 1) / 2 3 шаг (x - 2) * ((x - 2) + 1) / 2 .. N шаг (x - N + 1) * (x - N + 2) / 2 Теперь надо вывести формулу суммирования всех шагов. Для 4 (и более) по той же схеме :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 12:08 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Саш. Мне почему-то вспоминается задача о том как с помощю барометра измерять высоту. Весь lulz в том что тривальное решение - неинтересно и барометр использовался нетривиально. Почему-бы тебе не вспомнить законы тяготения и не решить эту задачу аналитически? Или почему-бы не взять пресс и динамометр и вообще отказаться от бросков? Сказать честно, для физика твоя задача - откровенная профанация. А для контестеров и олипиад по информатике - слабая. Я предлагаю в форум Программирование писать то что относится к программированию а подобное переносить в Просто трёп. Там оно уместнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:03 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Меньше 19 никак. Суть такова: 1 яйцом можно найти ответ в общем случае за 100 попыток простым перебором начиная с меньшего. Если есть 2 яйца, то одним мы можем ограничить перебор в каком-либо диапазоне. Получается, что первым яйцом ищем промежуток, содержащий нужный этаж, а вторым начинаем перебор по порядку с нижней границы. Т.е. надо разбить весь небоскреб на А частей по Б этажей так, чтобы А + Б было минимальным, т.к. это и есть кол-во бросков. Такой парой будет 10 кусков по 10 этажей т.е. 20 ну минус 1 еще. Как-то так. PS Пока царапал на бумажке решение, увидел что моя 9 похожа на 4... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:19 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
maytonа подобное переносить в Просто трёп. Там оно уместнее.Тем более, что эту "задачу" уже обсосали на хабре... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:21 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryСейчас пытался решить данную задачу для k-этажей и d яиц. Пока не получается.то же самое например, для 3 яиц - будут единичные интервалы, большие интервалы и "сверхбольшие" допустим, сначала А сверхбольших, потом на В больших для данного сверхбольшого, и С единичных для данного большого. и чтобы А + В max (А) + С max (В) было константой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 14:55 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
для двух было А+B max (A) = 14, если 100 этажей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 15:01 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Точно, динамический первый шаг, чтобы уменьшить кол-во попыток второго шага! Блин, изящно, но надо додуматься. Впрочем, я был на правильном пути. ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 15:20 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
Администрация, перенесите в треп топик. Возможно тут ему действительно не место. Dima_T, спасибо за рассуждения. Модератор: В Просто Трёпе ему тоже не место. Можем закрыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 15:53 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЗдравствуйте. Классическая задача: У нас есть 100-этажное здание и 2 яйца одинаковой неизвестной прочности. Мы можем бросать яйца с любого этажа до тех пор пока оба не разобьются. Если яйцо разбивается с n-этажа, то разбивается с любого этажа k>n. f e если яйцо начинает разбиваться с 25 этажа (т е с 24 ещё не разбивается), то для n in [26,100] яйцо тоже будет разбиваться. Найти минимальное количество бросков для определения минимального этажа с которого разбивается яйцо. Решением данной задачи, как известно, будет 14. (вроде бы так, сейчас проверил). Допустим у нас есть k этажей и 2 яйца, такую задачу я вроде-бы тоже понимаю как решить. В общем виде. Сейчас пытался решить данную задачу для k-этажей и d яиц. Пока не получается. Может быть кто-нибудь решал ранее ? Вообще, кол-во бросков -- логарифм по 2 от кол-ва этажей. Только я что-то не понимаю. Яиц вроде бы только 2. Т.е. максимум можно сделать 2 броска. А там уж -- либо определил этаж, либо не определил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 12:27 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryВот-вот :) Доброе утро :D А я не учёл наоборот, что небитые можно повторно кидать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 12:29 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
А вообще -- как мне надоели эти хреновы абстрактрые задачки.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 12:31 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
MasterZivВообще, кол-во бросков -- логарифм по 2 от кол-ва этажей. Только я что-то не понимаю. Яиц вроде бы только 2. Т.е. максимум можно сделать 2 броска. А там уж -- либо определил этаж, либо не определил.Ну, если разбивается только с 50-го этажа, можно бросать 49 раз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 12:39 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
MasterZivА вообще -- как мне надоели эти хреновы абстрактрые задачки....Хорошо. У дедушки Порсева в стендовых СибИМЭ СО РАСХН есть генератор высокого напряжения с "ёлкой" конденсаторов, на которой мы можем перепайкой набирать величины, кратные примерно киловольту. И есть два подопытных разрядника неизвестного порога разрушения, одинаковые, потому что резаны вместе за один проход одной фрезой. Но чтобы не грузить читателя тем, что такое "ёлка", почему с ней такой гемор и кем работает Порсев, пусть два яйца падают с небоскрёба... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2014, 18:35 |
|
||
|
Классика. 100-этажное здание и 2 яйца.
|
|||
|---|---|---|---|
|
#18+
МодераторВ Просто Трёпе ему тоже не место. Можем закрыть. не имею ничего против, закрывайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 04:40 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38573014&tid=1341416]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
144ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 447ms |

| 0 / 0 |
