Найти пятничного кота #758186


#0 by Ненавижу 1С
Перед Вами расположены 100 закрытых коробок в ряд, в одной из которых спрятался пятничный кот. Вы можете открыть одну из коробок и проверить наличие пятничного кота. Если его там не оказалось, то после закрытия этой коробки пятничный кот обязательно незаметно перебирается в одну из соседних (относительно той, в которой он был) коробок. Можно ли вообще однозначно определить в какой коробке пятничный кот за конечное число ходов-открытий коробок? Если да, то сколько требуется действий?
#0 by Ненавижу 1С
Перед Вами расположены 100 закрытых коробок в ряд, в одной из которых спрятался пятничный кот. Вы можете открыть одну из коробок и проверить наличие пятничного кота. Если его там не оказалось, то после закрытия этой коробки пятничный кот обязательно незаметно перебирается в одну из соседних (относительно той, в которой он был) коробок. Можно ли вообще однозначно определить в какой коробке пятничный кот за конечное число ходов-открытий коробок? Если да, то сколько требуется действий?
#1 by ДенисЧ
Кот Шредингера? Тогда он вряд ли переползёт...
#2 by Ненавижу 1С
нет, это другой, Пятничный кот
#3 by ДенисЧ
Если он реально пятничный, то с вероятностью 50/50 ты найдёшь его в первой же коробке, или не найдёшь никогда
#4 by torgm
Для начала я бы открыл вторую коробку два раза :)
#5 by Irbis
А по очереди открывать, начиная с крайней, на 100 шаге точно найду котэ
#6 by torgm
внимательно прочти условия задачи :)
#7 by Ненавижу 1С
ну смотри ты открываешь 65-ю коробку, а он сидит в 66-й, ты ее закрываешь, а он переползает в 65-ю, ты открываешь 66-ю, упустил
#8 by patria0muerte
Ряд коробок замкнут, полагаю? Если нет, то открывается первая коробка, кот переползает во вторую, т.к. она одна соседняя.
#9 by Irbis
Я же по очереди открываю, начиная с первой, ему или отступать, перемещается ведь только в соседнюю. И закрывать коробки не собираюсь.
#10 by patria0muerte
Есть живодерский вариант. Можно коробки попинать не открывая. Какая мявкнет, в той и кот.
#11 by DDwe
условия задачи ))
#12 by Ненавижу 1С
"И закрывать коробки не собираюсь" - а вот не ври. собираешься
#13 by Irbis
Тогда лучше сразу стрелять.
#14 by Ненавижу 1С
причем в торец ряда, пробивая все 100 коробок ))
#15 by Irbis
Так вам кота найти или коробки открывать. Если коробки закрываются, кота не словить.
#16 by Wirtuozzz
Все просто, идешь и хорошенько пинаешь ногой коробки. Если  коробке что то замячело, или просто заскреблось то открываешь коробку. Никуда эта кошатина не денется, главное пинать сильно, с пониманием важности задачи.
#17 by patria0muerte
Блин, точно. Относительно коробки кота, а не октрываемой. )
#18 by Ненавижу 1С
словить-словить, попробуй с 2 или 3 коробками сначала
#19 by torgm
С тремя коробками все просто. Открываешь всегда 2 коробку , на второй ход кот точно будет пойман.
#20 by Ненавижу 1С
да, но это не универсальный метод, на 4-х коробках уже принцип не сработает
#21 by Enterprise
Это сложная задача. Кот пятничный, а задача не пятничная
#22 by Irbis
По два раза по очереди начиная со второй коробкт проверять что ли? Я же говорю что с помощью пистолета и доброго слова можно сделать куда больше чем с помощью одного доброго слова.
#23 by torgm
на 4 , два раза открываем вторую, потом отодвигаем первую. И сводим все к 19 :)
#24 by 2083
нужно открывать начиная с крайней допустим с первой: первую открыл один раз - этого достаточно, остальные открываешь по порядку, то есть дальше 2,3 и т.д., но по два раза подряд. Кот в общем случае либо найдется где-то в пути, либо будет прыгать до конца в крайнюю и там поймаешь.
#25 by Timon1405
Для 4х коробок 2,2,3,3,2 дает гарантию поимки
#26 by letni88
Открывая одну и ту же коробку мы дождемся пока кот в неё попадет)Максимум 99 открываний если коробки замкнуты
#27 by patria0muerte
Так он может между двумя коробками в другом конце ряда бегать пока сам не сдохнет..
#28 by Irbis
А если не замкнуты?
#29 by Ненавижу 1С
что такое замкнуты или не замкнуты?
#30 by Dotoshin
А кот всегда в следующую коробку переползает или может в предыдущую, ну то есть может ли он залезать дважды в одну и ту же коробку? И еще такой вопрос, коробки имеют какую-то нумерацию? Ну то есть можно ли понять, где первая коробка, а где последняя или любая может быть как первой, так и последней?
#31 by Timon1405
по кругу или в ряд видимо
#32 by Ненавижу 1С
да это алгоритм годный, но 199 открытий? меньше можно?
#33 by Enterprise
В условии написано что в ряд
#34 by Irbis
Лучшее враг хорошего.
#35 by Ненавижу 1С
написано же в "в ряд" может и дважды и трижды, разрешаю нумеровать
#36 by letni88
То есть если мы будем уверены что кот вернется в нашу коробку, которую мы постоянно открываем, а не выпрыгнет из коробки в свободное плавание когда прыгнет в последнюю кробку
#37 by letni88
Ага, не уловил условие)
#38 by 2083
ТС в   посмотри
#39 by patria0muerte
Так не взлетит же. Т.е. ты открываешь коробку 2, там нет кота, закрываешь. Он тем временем перебегает из 4 в 3 Ты второй раз открываешь коробку 2,  там нет кота, закрываешь. Он тем временем перебегает в коробку 2.
#40 by Гобсек
2,2,3,3,4,4,5,5,6,6,...,97,97,98,98
#41 by Ненавижу 1С
я уже в отметил
#42 by patria0muerte
+ И пока ты по два раза 99 коробок открываешь, он мечется между 1-2
#43 by Ненавижу 1С
точно, тогда и не решение, вы меня обманывали!
#44 by patria0muerte
Ты кота потерял чтоли?
#45 by patria0muerte
+ на складе?
#46 by letni88
а кот движется в одном направлении или может менять его?
#47 by 2083
от блин... ну тогда, тот же алгоритм, но каждую коробку открываешь по 100 раз (или сколько там коробок) подряд :)
#48 by 2083
хотя тоже не взлетит
#49 by Ненавижу 1С
может менять конечно
#50 by Про100Филя
По терверу только дистанция найдет кота.(с)
#51 by Локи-13
открывать коробки в произвольном порядке, надеяться на чудо.
#52 by Локи-13
молитву перед началом можно еще прочитать..
#53 by RomanYS
Проходим подряд коробки в одну сторону, в конечной точке повторяем (чтобы сменить четность), идем назад. Итого 200, проскочить 2 раза кот не сможет, потому что четность мы поменяли а он не мог.
#54 by patria0muerte
Чет кажется мне, с учетом того, что Кот может в любой момент перебежать в коробку, которую ты только что закрыл - задачка не решаемая.
#55 by Ненавижу 1С
вот наконец, только не "в конечной точке" а в предпоследней достаточно сменить, итого 198
#56 by Dotoshin
Очень даже сможет, проблема в том, что он проскакивает назад когда коробка закрывается.
#57 by Garykom
если кот может перебраться в закрываемую коробку то решения нет может вечно бегать и только теория вероятности если же кот может перебраться в любую соседнюю исключая ту что только что открыли то 199 открытий
#58 by Никулин Леонид
Если НеудачнаяПопыткаПоиска Тогда     Если КотМожетСтоятьНаМесте Тогда         МожноНайти = Ложь     Иначе         МожноНайти = Истина     КонецЕсли; КонецЕсли;
#59 by Ненавижу 1С
если на прямом проходе он сможет проскочить, то на обратном уже не сможет
#60 by patria0muerte
Можно пример? Чет не могу сообразить.
#61 by Никулин Леонид
Если коту нужно двигаться при каждом открытии коробки его можно найти. Если ты открыл коробку и не угалал, а при этом коту можно остаться в той же коробке его не поймать
#62 by RomanYS
(НомерХода+ПоложениеКота)%2 = Константа
#63 by Enterprise
Что такое прямой и обратный проход?
#64 by Dotoshin
Допустим открываем первую коробку, а кот вот второй коробке, закрываем первую, кот прыгает в третью, открываем вторую  и т.д., пока не дойдем до 99, допустим кот к этому моменту сидит в сотой, когда ты закроешь 99 он перепрыгнет из сотой в 99-ю и ты его все равно не поймаешь.
#65 by Ненавижу 1С
это из
#66 by Ненавижу 1С
мы 99-ю же дважды открываем
#67 by Dotoshin
Так он мог и раньше в обратном направлении побежать, в условиях же он не ограничен в смене направления
#68 by PR третий
С хрена ли? А кот был в 4, 3, 2, 1. Поймал?
#69 by PR третий
При постановке задачи в задача нерешаема.
#70 by Dotoshin
Засада в том, что кот перемещается при закрытии коробки. То есть его можно поймать только случайно.
#71 by letni88
решения нет) кот очень хитр
#72 by Лодырь
Вообще 197 открытий/закрытий? Поскольку, когда откроем 99 и его там не окажется, то он после закрытия 99 коробки переберется в нее. Следовательно открывать ее не надо, мы и так знаем что он там.
#73 by FuriKuri
Мне кажется нельзя его поймать впринципе. Например мы решили открыть 2 (или любую, кроме 1 или 100 коробки) коробку два (или бесконечное число) раза. И на самый последний раз, когда закрываем коробку, он может быть в соседней и переместиться в нашу закрытую коробку. Далее мы опять открываем ее кучу раз, и после последнего закрытия, кот опять же может быть в соседней и переместится в нашу закрытую. То есть кот всегда может быть на шаг позади. Чистый рандом. Единственный вариант когда можно кота поймать, это все время открывать 2 или 99 коробку, и угадать когда он переместится в нашу, и выбрать 3 , чтобы кот перебрался в 1 , и тогда открывать 2 . Но опять же рандом. Вобщем словить кота при данном условии нереально!
#74 by Junior1s
за 200 ходов разве нет ? :)
#75 by Dotoshin
Да, кошки они такие их только ответной хитростью можно взять :)
#76 by Лефмихалыч
если кот может перелезть в ту коробку, которую ты только что открывал, то задача не имеет решения при числе коробок более 2х
#77 by Лодырь
2 раза подряд открой коробку номер 1, после этого открой коробку два и ты можешь быть твердо уверен что кот не в 1 в этот момент.
#78 by Лефмихалыч
кот может перелезть в коробку после того, как ты ее закроешь во второй раз
#79 by regi1984
Решение найдено ведь уже.
#80 by b_ru
Она не имеет 100% решения даже при числе коробок равном 2. Это как гарантированно выкинуть решку за конечное число ходов.
#81 by Timon1405
Да поймал на 5м ходу. И что это за тон?
#82 by Лефмихалыч
с учетом того, что кот ОБЯЗАН переместиться после закрытия коробки, то при двух коробках он гарантированно найдется после второго открытия одной и той же коробки. А вот в трех его можно уже и не найти
#83 by b_ru
А ну да, обязательно же перемещается.
#84 by FuriKuri
и при трех найдется за 2 хода.
#85 by Лодырь
при трех достаточно вторую коробку открыть два раза.
#86 by Ненавижу 1С
Решение. Всего 198 открытий-ходов. Перенумеруем подряд коробки от 1 до 100. Открываем в 2 акта. Акт 1: открываем с 1 по 99 коробки подряд Акт 2: открываем с 99 по 1 коробки подряд Акт 1. Если кот не собирается пересекать "фронт открываемых коробок", то мы его загоняем в 100-ю и так как 99-ю открываем дважды, он будет пойман. Если кот пересекает "фронт открываемых коробок", то значит когда мы открывали N-ю он сидел в (N+1)-й и переползает в N-ю. Итак, значит когда мы открываем четную коробку, кот сидит в нечетной и наоборот. Акт 2. На начало акта кот сидел в нечетной коробке. Мы снова открываем 99-ю и кот из нечетной переползает в четную. Теперь открывая четную кот сидит в четной, то есть четности совпадают. И снова пересечь "фронт открываемых коробок" кот не сможет.
#87 by Лефмихалыч
только случайно. Но случайно он может и за один ход найтись при любом количестве коробок.
#88 by Лефмихалыч
где в условии сказано, что код обязательно только в одну сторону идет? Из чего следует, что он не может 99 раз переходить из 1й коробки во 2ю и обратно?
#89 by b_ru
Тогда и при 4 поймаем. 2 раза открываем 2ю. Если не поймали, то кот либо в 3, либо в 4. 2 раза открываем 3ю - пойман.
#90 by Ненавижу 1С
+ фактически это решение дано в я просто причесал немного
#91 by Лефмихалыч
>2 раза открываем 2ю. Если не поймали, то кот либо в 3 да, но только он там искючительно, пока коробка 2 открыта. После закрытия он уже может быть и в3, и в 4, и в 2, и в 1
#92 by Timon1405
как-то неочевидно, что за меньшее количество ходов нельзя
#93 by Ненавижу 1С
не обязательно в одну сторону, может и так, но ты обрати внимание на инвариант четности в решении
#94 by Ненавижу 1С
согласен, минимум не доказан
#95 by Лефмихалыч
тогда это решение уже на 3х коробках не работает
#96 by b_ru
По ходу оно не работает на нечетном числе коробок, но работает на четном
#97 by Ненавижу 1С
работает, открываем 1,2,2,1
#98 by Лодырь
1,2,2 уже сработает
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С