Tramvision

Всякая всячина => Головомойки и задачки => Тема начата: admin от 05 Июнь 2008, 00:01:21

Название: Считаем комнаты
Отправлено: admin от 05 Июнь 2008, 00:01:21
(http://www.tramvision.ru/daily/funpics/050608-3.gif)
Есть замкнутое здание в форме кольца. Все его комнаты без окон,  расположены по кругу, и все одинаковые. Комнаты соединены между собой дверьми. Как подсчитать число комнат, если вы находитесь внутри здания, можете по ним ходить, но ни к чему не прикасаться - позволяется только включать или выключать в них свет.
Число комнат может быть сколь угодно большим, а в некоторых из них уже горит свет (в каких - не знаем).
Как это сделать?
Название: Re: Считаем комнаты
Отправлено: Кощей от 05 Июнь 2008, 09:35:08
Не понял ничего. По комнатам можно ходить, или нет? И что значит "можно включать или выключать свет в любой комнате"? У нас на каждую комнату свой выключатель, что ли?
Название: Re: Считаем комнаты
Отправлено: admin от 05 Июнь 2008, 10:27:39
Не понял ничего. По комнатам можно ходить, или нет? И что значит "можно включать или выключать свет в любой комнате"? У нас на каждую комнату свой выключатель, что ли?

Исправил немного условие.
Название: Re: Считаем комнаты
Отправлено: Mr. Hide от 05 Июнь 2008, 12:30:00
выключаем свет в комнате с включенным светом.
идем по кругу, считая комнаты и включая свет там, где темно, попутно трогаем лампочки.
как только доходим до темной комнаты с теплой лампочкой - прекращаем считать и получаем искомое количество.
Название: Re: Считаем комнаты
Отправлено: Кощей от 05 Июнь 2008, 12:35:21
Для начала, комнат с теплыми лампочками может быть несколько, так как свет горит не в одной комнате, во вторых - комнат может быть сколь угодно много, так что лампочки могут и остыть.
Я бы просто снял ботинок (если меня заставят раздеться - просто плюнул бы в одной из них), положил в одной из комнат, и все.
С другой стороны, что значит, что комнат может быть сколь угодно много? Если их миллион, то до конца дойти не получится - умрешь от жажды. ))
Название: Re: Считаем комнаты
Отправлено: admin от 05 Июнь 2008, 13:49:59
С другой стороны, что значит, что комнат может быть сколь угодно много? Если их миллион, то до конца дойти не получится - умрешь от жажды. ))

Здесь ведь не спрашивается, сколько всего комнат, а спрашивается алгоритм их подсчета. Алгоритм должен работать от 2-х комнат до бесконечности, при этом не важно, сколько лампочек горело, были ли они все включены или все выключены, либо горела всего одна.
Название: Re: Считаем комнаты
Отправлено: Чеширская от 05 Июнь 2008, 14:43:34
Мне кажется, необязательно щупать лампочки, достаточно нарисовать крестик и что-то в этом духе;
прогулялись по комнатам, подошли к началу путешествия - и здрасте, крестик!
Или, что еще проще - ставить крестик на каждую пройденную комнату.
Название: Re: Считаем комнаты
Отправлено: admin от 05 Июнь 2008, 14:47:52
Мне кажется, необязательно щупать лампочки, достаточно нарисовать крестик и что-то в этом духе;
прогулялись по комнатам, подошли к началу путешествия - и здрасте, крестик!
Или, что еще проще - ставить крестик на каждую пройденную комнату.
Прикасаться нельзя. Задача идеализирована: можно пользоваться только выключателями света в комнатах.
Название: Re: Считаем комнаты
Отправлено: Чеширская от 05 Июнь 2008, 17:16:55
Мне кажется, необязательно щупать лампочки, достаточно нарисовать крестик и что-то в этом духе;
прогулялись по комнатам, подошли к началу путешествия - и здрасте, крестик!
Или, что еще проще - ставить крестик на каждую пройденную комнату.
Прикасаться нельзя. Задача идеализирована: можно пользоваться только выключателями света в комнатах.
Пардон, не поняла условия.
Будем думать.
Название: Re: Считаем комнаты
Отправлено: mazeratik от 06 Июнь 2008, 01:19:34
Комнаты соединены между собой дверьми. Если мы можем по комнатам ходить - значит мы ЗНАЕМ ГДЕ ГОРИТ и НЕ ГОРИТ свет (тогда в условии ошибка), и можем проходить через них  - двери-то открыты - иначе мы не пройдем через них НИКАК, потому как прикасаться ни к чему низзя (нет слова "внутри" - значит не трогаем ничего). Если мы можем включать и выключать свет.. то тогда включаем свет во всех комнатах - иначе в темноте убьемся нафик. но в 1, 3,4 и 6,7,8 комнатах свет выключаем - чтобы небыло повторения(получается свет не горит по возрастанию). В условии не сказано сколько раз можно пройтись по комнатам, значит мы можем сделать пару кругов чтобы удостовериться, что не горит только там, где мы все свет вырубили.
Название: Re: Считаем комнаты
Отправлено: Почта сайта от 06 Июнь 2008, 08:53:04
Комнаты соединены между собой дверьми. Если мы можем по комнатам ходить - значит мы ЗНАЕМ ГДЕ ГОРИТ и НЕ ГОРИТ свет (тогда в условии ошибка), и можем проходить через них  - двери-то открыты - иначе мы не пройдем через них НИКАК, потому как прикасаться ни к чему низзя (нет слова "внутри" - значит не трогаем ничего). Если мы можем включать и выключать свет.. то тогда включаем свет во всех комнатах - иначе в темноте убьемся нафик. но в 1, 3,4 и 6,7,8 комнатах свет выключаем - чтобы небыло повторения(получается свет не горит по возрастанию). В условии не сказано сколько раз можно пройтись по комнатам, значит мы можем сделать пару кругов чтобы удостовериться, что не горит только там, где мы все свет вырубили.

1. То, что мы можем ходить по комнатам - не значит, что ЗНАЕМ, где горит свет (здание круглое).
2. Открытые или закрытые двери - тоже роли не играет, они нам нужны только для перемещения (вполне м.б. автоматические двери, об этом в условии не сказано).
3. Прикасаться... Хм... Ну тут я, наверное, не так выразился, маскируя задачку, чтобы ее не нашли в Яндексе  ;) - но д.б. понятно, что это условие только для того, чтобы в комнатах не оставляли меток, а пользовались только оговоренными в условиях выключателями.
4. Сколько можно ходить - тоже не сказано, значит сколько угодно
Странно: в оригинальной задаче вообще таких условий нет (они были добавлены уже здесь по ходу обсуждения), - и, тем не менее, все догадались, что меток оставлять нельзя или там лампочки щупать (как будто мы знаем, что это лампы накаливания, а не дневного света)...

Кстати, идея с включением всех лампочек ничего так (правда не понял, что такое 1, 3,4 и 6,7,8...), только потом как узнать комнату, откуда вышли? Если мы в ней оставляем свет (если уже горит) или включаем (если не горит), то мы потом эту комнату не найдем - общего числа комнат мы не знаем, так что для нас она будет всего лишь одной из комнат, где горит свет (сколько комнат со светом, мы тоже не знаем, м.б. и все). То же самое и с выключенным светом в стартовой комнате - по пути она, если попадется, будет одной из комнат, где надо будет выключить свет...

Ладно, через пару дней спалю решение  :)
Название: Re: Считаем комнаты
Отправлено: Чеширская от 06 Июнь 2008, 13:11:38
Может, визуально отмечать комнаты?
Например, царапина на стене, или обстановка в комнате?
Или комнаты АБСОЛЮТНО одинаковые?
Название: Re: Считаем комнаты
Отправлено: Кощей от 06 Июнь 2008, 14:37:34
Скажем так, первая мысль, которая приходит в голову: пройтись по всем комнатам и включить во всех свет. Сделать пару кругов, чтобы удостовериться, затем выключить в одной комнате свет и обойти полный круг до темной комнаты.
Но если комнат бесконечное множество (или просто очень много), то мы никогда не поймем, что уже прошли весь круг, может, через тысячу светлых комнат будет еще одна темная и мы решим, что это и есть та, где мы выключили свет, пойдем дальше, наткнемся на еще одну темную комнату и окончательно собьемся со счета. А общий алгоритм в голову не лезет. ((( 

Кстати, количество комнат нетрудно подсчитать, имея при себе нехитрые измерительные приборы. )))
Название: Re: Считаем комнаты
Отправлено: Чеширская от 06 Июнь 2008, 15:21:27
Скажем так, первая мысль, которая приходит в голову: пройтись по всем комнатам и включить во всех свет. Сделать пару кругов, чтобы удостовериться, затем выключить в одной комнате свет и обойти полный круг до темной комнаты.
Но если комнат бесконечное множество (или просто очень много), то мы никогда не поймем, что уже прошли весь круг, может, через тысячу светлых комнат будет еще одна темная и мы решим, что это и есть та, где мы выключили свет, пойдем дальше, наткнемся на еще одну темную комнату и окончательно собьемся со счета. А общий алгоритм в голову не лезет. ((( 

Кстати, количество комнат нетрудно подсчитать, имея при себе нехитрые измерительные приборы. )))
GPS, например, или компас.
Название: Re: Считаем комнаты
Отправлено: Кощей от 06 Июнь 2008, 20:18:57
GPS, например, или компас.

Хватит циркуля и линейки.
Название: Re: Считаем комнаты
Отправлено: Чеширская от 06 Июнь 2008, 21:53:33
GPS, например, или компас.

Хватит циркуля и линейки.
Согласна.
Название: Re: Считаем комнаты
Отправлено: mazeratik от 06 Июнь 2008, 22:24:45
1. То, что мы можем ходить по комнатам - не значит, что ЗНАЕМ, где горит свет (здание круглое).
Знаем - нам глаза никто не завязывал, значит входя в комнату темно там или светло мы знаем - потому как ВИДИМ.

Кстати, идея с включением всех лампочек ничего так (правда не понял, что такое 1, 3,4 и 6,7,8...)

Пардон, что не расшифровал - свет выключен - в 1 комнате потом во 2-й горит, потом идут две (3,4)без света, потом снова одна(5) со светом, потом три (6,7,8) без света - следовательно, сделав круг  и вернувшись к  комнатам где свет включен и выключен в определенной последовательности, мы будем знать, откуда стартанули.

Можно еще на выключатель плюнуть, или лампочку выкрутить (хотя нет, низзя).
[/quote]

Название: Re: Считаем комнаты
Отправлено: admin от 07 Июнь 2008, 00:13:01
Обещанное решение:

1. Стартуем из какой-нибудь комнаты - ВКЛЮЧАЕМ в ней свет, если не горит.
2. Затем идем вперед в одном направлении (например, по часовой стрелке) и СЧИТАЕМ комнаты, пока не встречаем первую комнату с зажженным светом.
3. ВЫКЛЮЧАЕМ в ней свет и возвращаемся назад, ОТСЧИТЫВАЯ ЗАПОМНЕННОЕ ЧИСЛО, чтобы остановиться точно в той комнате, откуда начали.
4. Если в начальной комнате уже НЕ ГОРИТ свет, то мы все подсчитали (т.е. свет горел только в ней).  Если в той комнате ГОРИТ свет, то повторяем п.2 и п.3 заново - ходим так туда-сюда и считаем до тех пор, пока не обнаружим, что вернулись в комнату с выключенным светом. Запомненное число и будет искомым кол-вом комнат.
Название: Re: Считаем комнаты
Отправлено: Кощей от 07 Июнь 2008, 12:49:13
Не понял ничего. С чего это в начальной комнате уже не горит свет, если мы его там включили в самом начале?
Название: Re: Считаем комнаты
Отправлено: Почта сайта от 07 Июнь 2008, 12:54:35
Не понял ничего. С чего это в начальной комнате уже не горит свет, если мы его там включили в самом начале?

Мы его выключим, когда дойдем до этой комнаты с другой стороны, а потом вернемся обратно, отсчитывая комнаты.
Только так можно узнать, что сделали полный круг.
Название: Re: Считаем комнаты
Отправлено: Кощей от 07 Июнь 2008, 13:00:42
Да, понял все.
Название: Re: Считаем комнаты
Отправлено: mazeratik от 09 Июнь 2008, 00:29:44
Чета перемудрили - в помещении НЕТ ОКОН. Хотите себе шею свернуть в темноте, да еще и комнаты считать в это же время???
Название: Re: Считаем комнаты
Отправлено: Почта сайта от 09 Июнь 2008, 00:59:35
Чета перемудрили - в помещении НЕТ ОКОН. Хотите себе шею свернуть в темноте, да еще и комнаты считать в это же время???

Ответ уже опубликован. А то, что там шею свернуть или не свернуть - роли не играет. В данном случае отсутствие окон - чтобы не было желания выглянуть в окно и сделать какие-то выводы. Задача всего лишь про выключатели света. И не надо докапываться. Задача как задача. Если принимать во внимание всякие отступления, да так ни один школьник даже задачу про велосипедиста, едущего из пункт А в пункт Б не решит, ибо велосипедист может сломать голову по дороге, колесо проколоть, умереть от сердечного приступа и т.д. и т.п.  :)
Название: Re: Считаем комнаты
Отправлено: mazeratik от 09 Июнь 2008, 20:38:56

Ответ уже опубликован. А то, что там шею свернуть или не свернуть - роли не играет. В данном случае отсутствие окон - чтобы не было желания выглянуть в окно и сделать какие-то выводы. Задача всего лишь про выключатели света. И не надо докапываться. Задача как задача. Если принимать во внимание всякие отступления, да так ни один школьник даже задачу про велосипедиста, едущего из пункт А в пункт Б не решит, ибо велосипедист может сломать голову по дороге, колесо проколоть, умереть от сердечного приступа и т.д. и т.п.  :)
[/quote]

В принципе да - от перемены комнат местами сумма не изменится.))