Member
Статус: Не в сети Регистрация: 18.10.2003 Откуда: Москва
vhl000 Ну, это из цикла "если долго мучаться, кто-нибудь получится" В принципе можно вообще без лампочки обойтись. Подождать, пока тебя введут тысячный раз и крикнуть Bingo! С большой долей вероятности все остальные там хотя бы один раз побывали
Про 100 свободолишеных и лампочку Пришло такое решение:
Выбирается один "считающий" - при входе, если лампочка включена +1 и лампочка выключается, иначе просто выходит.
Остальные при ПЕРВОМ заходе в ТЕМНУЮ комнату лампочку включают, в других случаях ничего не делают, просто выходят из комнаты.
Когда считающий наберет 99 - все свободны.
Верное решение?
Проблемы:
Неизвестно начальное состояние лампочки -горит/выкл
При нахождении в темной комнате могут покалечатся люди Дня на это может не хватить. Может также длиться бесконечно - если стражи порядка будут водить всегда только одного
kdron, но до 99, а до 100 так как "Неизвестно начальное состояние лампочки -горит/выкл"
Думал, что то не складываеться счет до 100. Причины:
Начальное условие лампочка ВКЛ: только после входа "считающего" (+1) остальные 99 заключенных смогут ее включить по разу (+99) итог 100 - клево все свободны.
Начальное условие лампочка ВЫКЛ: в этом случае лампочку будут включать только 99 заключенных (+99) и все все обречены на вечное ходждение в комнату, так как не будет так необходимого (+1)
Member
Статус: Не в сети Регистрация: 15.09.2004 Откуда: Иркутск
kdron писал(а):
Может также длиться бесконечно - если стражи порядка будут водить всегда только одного
Не, ну, они ж не звери, если сказали, что всех заведут, то заведут. Но, если они их будут заводить по очереди, то понадобится заводить каждого ~100 раз, а, это 10.000 раз вывести из камеры, завести в комнату с лампочкой, вернуть обратно в камеру, ИМХО после 10-20 циклов охранники скажут: уже всех заводили раз по 10, что-то все молчат, всех в расход!
_________________ OverSoft CPU Informer - форумский продукт... когда-то и я был причастен, жаль загнулся проект...
kdron, в случае с включенной лампочкой - никто ничего не будет делать, до тех пор пока считающий её не выключит.
Правильно, и выключив считающий прибавит еденичку. Когда остальные 99 заключенных включат ее по разу он прибавит еще 99 итог 100. В данном случае решение есть.
НО...
если лампачка ВЫКЛ, то считающий прибавит только 99 (то что зажгли заключенные), откуда от возьмет ЕДЕНИЦУ... в этом случае решения невижу.
Итог без известного в начале состояния лампочки невозможно точно решить сию задачу.
Member
Статус: Не в сети Регистрация: 13.04.2004 Откуда: Томск
Моя интерпретация решения:
Каждый зэк включает лампочку только один раз. Выключает ее только тот заключенный, который ночью был назначен счетчиком. Как только он выключит лампочку в 99 раз, то сообщает ВОХРу, что здесь все уже побывали. Так? Тогда непонятно как быть, если всех зэков будет водить подряд по одному? Такой вариант ведь тоже вполне вероятен!
_________________ Аннигиляция уничтожит всех. За капитуляцией последует падение власти.
Начальное состояние Лампочка ВКЛЮЧЕНА:
99 ОБЫЧНЫХ зеков ее трогать не будут пока ее не потушит СЧИТАЮЩИЙ. ИТОГ считающий будет иметь 100 зеков, т.е. 99 ОБЫЧНЫХ ее зажгли по разу и ОДИН - это начальное состояние.
Все работает - PASSED
Начальное состояние лампочка ВЫКЛЮЧЕНА:
Если первого вводят СЧИТАЮЩЕГО и это первый его заход, то он ставит счетчик в ОДИН. Далее 99 зеков включат лампочку по разу. Итог 100. Все работает - PASSED
---НО---
Если ПЕРВЫМ в ТЕМНУЮ комнату вошел ОБЫЧНЫЙ зек, то он ВКЛЮЧАЕТ лампочку (зеков осталос 98). Задача сводиться к Начальному условию лампочка ВКЛЮЧЕНА с тем исключением что зеков на ОДНОГО МЕНЬШЕ, т.е. считающий насчитает только 99. НЕ работает - FAILURE
Если я не прав. как СЧИТАЮЩИЙ в этом случае насчитает 100? Итак, есть ли у тебя решение для задачи вида: Начальное состояние в комнате - Лампочка ВКЛЮЧЕНА; кол-во зеков 98 (ОБЫЧНЫЙ зек ВКЛЮЧАЕТ лампочку, только если он оказался в ТЕМНОЙ комнате в ПЕРВЫЙ РАЗ); при ВКЛЮЧЕНОЙ лампочке СЧИТАЮЩИЙ прибавляет 1 и ВЫКЛЮЧАЕТ лампочку. СЧИТАЮЩИМУ НАДО ПОЛУЧИТЬ 100.
У меня получаеться, что СЧИТАЮЩИЙ насчитает 99. А вот 100 ему НИКАК не получить.
Advanced member
Статус: Не в сети Регистрация: 09.02.2005 Откуда: Питер
ок. считать нужно до 99.
Каждый заключённый включает лампочку один раз. Выключать лампочку может только СЧИТАЮЩИЙ заключённый. Если лампочка горит - простой заключённый ничего не делает.
1. Если лампочка выключена изначально. Если вводят первого считающего - он ничего не считает. Ждёт пока начнут включать заключённые. Дальше он считает 99 включённых лампочек.
2. Если лампочка включена изначально. Заключённые ничего не делают, так как выключить может только считающий. Заходит считающий и выключает лампочку. Дальше заходят заключённые и включают лампочку 99.
Итого досчитав до 99 считающий говорит - стоп.
в программировании это называется "накопитель". Добавлено спустя 2 минуты, 51 секунду kdron, с мудрецами не хватает условия. Нужно знать на какой день мудрецов выпустили. Тогда можно сказать сколько было неверных жён. Набери в яндексе.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения