[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 579
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы не сможете просто вырубить все лампочки, у Вас нет полной картины. Нужен критерий, по которому мы сможем судить, обошли ли мы всех лошадок. Их может быть ооооочень много.
Но решение-то правильное или нет?
И вообще - в условии задачи требования оптимальности не было.
Вы не сможете просто вырубить все лампочки, у Вас нет полной картины. Нужен критерий, по которому мы сможем судить, обошли ли мы всех лошадок. Их может быть ооооочень много.
Но решение-то правильное или нет?Мне кажется ваше решение правильное, но сильно неоптимальное. Кол-во шагов будет расти как квадрат кол-ва вагонов.
Если хотите я могу привести мое решение.
Если лошадки стоят в один ряд. Приходим с теодолитом. Включаем 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. Обновлял
Ага, я точно не против.
Вы находитесь в некотором вагоне. Если свет в вагоне выключен, вы включаете его и начинает считать вагоны. Считаете с помощью двух "счетчиков". Первый все время прибавляется. Если вы встречаете вагон в котором свет выключен, вы прибавляете 1 ко второму счетчику. Если свет горит вы "сбрасываете" второй счетчик и выключаете свет. Если окажется, что первый счетчик в 2 раза больше второго, то вы обошли весь поезд и во втором счетчике содержится число вагонов. Для подсчета понадобится 2 раза обойти поезд.
В первом счетчике - полное число пройденных вагонов, а во втором - накопленное число вагонов без света, идущих подряд. Так?
P.S. Пример: первый счетчик - 4, второй - 2. Прошли 4 вагона, в последних двух света не было, а в первых двух был. В круге 1000 вагонов (этого Вы не знаете, знаю я).
Откуда у Вас уверенность в том, что мы завершили обход?
Если свет горит вы "сбрасываете" второй счетчик и выключаете свет.
Вот тут непонятка. Это будет первый вагон с выключенным светом (после сброса второго счетчика) - или он не считается?
Если лошадки стоят в один ряд. Приходим с теодолитом...
В первом счетчике - полное число пройденных вагонов, а во втором - накопленное число вагонов без света, идущих подряд. Так?
P.S. Пример: первый счетчик - 4, второй - 2. Прошли 4 вагона, в последних двух света не было. В круге 1000 вагонов (этого Вы не знаете, знаю я).
Откуда у Вас уверенность в том, что мы завершили обход?
Да, похоже вы правы. Однако этот ответ был засчитан более года назад ))
Подумаю над этой задачей.