[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 579

 
Heroix: А что мешает вырубить все лампочки, затем, включить только одну и считать ее ТО?

Вы не сможете просто вырубить все лампочки, у Вас нет полной картины. Нужен критерий, по которому мы сможем судить, обошли ли мы всех лошадок. Их может быть ооооочень много.

sand: Слишком много шагов. В решении, которое я нашел вы должны пройти 2 полных круга.

Но решение-то правильное или нет?

И вообще - в условии задачи требования оптимальности не было.

 
Mathemat:

Вы не сможете просто вырубить все лампочки, у Вас нет полной картины. Нужен критерий, по которому мы сможем судить, обошли ли мы всех лошадок. Их может быть ооооочень много.

Но решение-то правильное или нет?


Мне кажется ваше решение правильное, но сильно неоптимальное. Кол-во шагов будет расти как квадрат кол-ва вагонов.

Если хотите я могу привести мое решение.

 
Mathemat:
Лошадки в один ряд стоят или в несколько?
 

Если лошадки стоят в один ряд. Приходим с теодолитом. Включаем 3 соседних фонарика и измеряем углы между ними. По углам рассчитываем количество.

 

Дима, у тебя только один измерительный прибор - выключатель у лошадки, ну и еще твой моск. Ни рогаток, ни теодолитов, ни мультиметров у тебя нет :)

Лошадки не обязательно в один ряд, но их можно упорядочить.

sand: Если хотите я могу привести мое решение.

Ага, я точно не против.

 

Идея: Добиться того чтобы горела только одна лампочка, тогда просчитав лампочки от единственно "горящей" до следующей "горящей" мы фактически пройдем по кругу и посчитаем все лампочки


(1) Выбираем первую попавшуюся горящую лампочку и направление обхода

(2) Совершаем обход выключая (если надо) все следующие N лампочек. Сначала N = 1

(3) Попадая на N+1 лампочку делаем следующее

---- (3a) Если лампочка не горит зажигаем её, увеличиваем N на единицу и возвращаемся к пункту (2)

---- (3b) Если лампочка горит то это может быть самая первая лампочка. Для проверки идем на два шага назад тоесть на N + N-1 лампочек назад

-------- (3bi) Если нет горящей лампочки значит финал - лампочек N

-------- (3bii) Если есть горящая лампочка возвращаемся обратно на ту лампочку где мы были в начале пункта (3b) увеличиваем N на единицу и возвращаемся к пункту (2)


P.S. Обновлял

 
Mathemat:

Ага, я точно не против.


Вы находитесь в некотором вагоне. Если свет в вагоне выключен, вы включаете его и начинает считать вагоны. Считаете с помощью двух "счетчиков". Первый все время прибавляется. Если вы встречаете вагон в котором свет выключен, вы прибавляете 1 ко второму счетчику. Если свет горит вы "сбрасываете" второй счетчик и выключаете свет. Если окажется, что первый счетчик в 2 раза больше второго, то вы обошли весь поезд и во втором счетчике содержится число вагонов. Для подсчета понадобится 2 раза обойти поезд.
 

В первом счетчике - полное число пройденных вагонов, а во втором - накопленное число вагонов без света, идущих подряд. Так?

P.S. Пример: первый счетчик - 4, второй - 2. Прошли 4 вагона, в последних двух света не было, а в первых двух был. В круге 1000 вагонов (этого Вы не знаете, знаю я).

Откуда у Вас уверенность в том, что мы завершили обход?

Если свет горит вы "сбрасываете" второй счетчик и выключаете свет.

Вот тут непонятка. Это будет первый вагон с выключенным светом (после сброса второго счетчика) - или он не считается?

 
DmitriyN:

Если лошадки стоят в один ряд. Приходим с теодолитом...

Правильно пишется: с теодолитром.
 
Mathemat:

В первом счетчике - полное число пройденных вагонов, а во втором - накопленное число вагонов без света, идущих подряд. Так?

P.S. Пример: первый счетчик - 4, второй - 2. Прошли 4 вагона, в последних двух света не было. В круге 1000 вагонов (этого Вы не знаете, знаю я).

Откуда у Вас уверенность в том, что мы завершили обход?

Да, похоже вы правы. Однако этот ответ был засчитан более года назад ))

Подумаю над этой задачей.