Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Загадка про поезд (http://www.flasher.ru/forum/showthread.php?t=212353)

undefined 23.01.2016 18:01

Загадка про поезд
 
Имеется кольцевой участок железной дороги.На нем стоит состав вагонов, тоже замкнутый в кольцо.В каждом вагоне есть лампочка и переключатель, который её включает/выключает.Вы появляетесь в рандомном вагоне. Лампочки тоже включены рандомно.По составу можно свободно перемещаться и переключать переключатели.Требуется придумать алгоритм действий для определения числа вагонов.Решение не единственно.Предлагайте варианты.

Добавлено через 1 минуту
да, забыл - окна в вагонах тонированы под ноль т.е. что снаружи - не видно

zCHESNOKz 23.01.2016 18:57

не знаю как алгоритм, но узнать количество вагонов думаю это просто.
1. выключаем все лампочки;
2. включаем одну;
3. начинаем счет, и идем по поезду
4. профит!

или

3. начинаем счет, и идем по поезду, включая каждую

dark256 23.01.2016 19:26

Мне это напоминает задачу определения высоты башни с помощью барометра :)

Идем по вагонам, выкручивая все лампочки подряд. Пока не кончатся. Число вагонов == числу лампочек.

undefined 23.01.2016 21:08

Цитата:

не знаю как алгоритм, но узнать количество вагонов думаю это просто.
1. выключаем все лампочки;
Для этого надо знать что ты круг уже один прошел.Вагонов может быть сколь угодно много

Добавлено через 6 минут
Цитата:

Мне это напоминает задачу определения высоты башни с помощью барометра
Да еще одно условие: никаких пометок в вагонах делать нельзя максимум можно помечать стейтом лампочки.

GBee 23.01.2016 21:35

включить везде, потом везде выключить.

undefined 23.01.2016 21:39

так в том то и проблема чтоб определить когда все включены/выключены.Поезд то кольцевой :)

illuzor 23.01.2016 22:22

1) Отключить первую попавшуюся включённую.
2) Идти вперёд и считать вагоны.
3) Проходя по по вагонам трогать все попадающиеся выключенные. Если одна из выключенных будет тёплой, значит это и есть точка отсчёта. Количество вагонов будем тем, какое насчитал

undefined 23.01.2016 22:38

не катит
Цитата:

Вагонов может быть сколь угодно много
Добавлено через 4 минуты
вроде пограммерский форум,но никто не хочет думать алгоритмически.Повторюсь решение - это алгоритм!

dark256 24.01.2016 15:24

Задача сводится к определению захода на второй круг.
Так?
Соотв. решением мне видится :
1. Сводим все к общему состоянию - все выкл.
2. Убеждаемся, что такое состояние ДОСТИГНУТО.
3. Включаем одну лампочку и делаем круг, пока не наткнемся на неё же.

Но если вагонов миллиард, и ты все выключаешь, и натыкаешься на последовательность из 100 подряд выключенных лампочек - п.2. даст ошибочное срабатывание... Хотя все равно мы идем и считаем далее...

Не, я не умею алгоритмически думать.

undefined 24.01.2016 16:01

Цитата:

2. Убеждаемся, что такое состояние ДОСТИГНУТО.
Как этого достигнуть, если в процессе обхода может встретиться сколь угодно большая последовательность выключенных лампочек?

Добавлено через 4 минуты
Цитата:

Хотя все равно мы идем и считаем далее...
и? когда остановиться то?


Часовой пояс GMT +4, время: 08:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.