Загадка1

Вы находитесь в кольцевом коридоре неизвестной длины. Через каждые 2 метра расположены лампочки с выключателями. В начальный момент лампы включены в случайном порядке. Ваша задача — определить длину коридора, управляя включением/выключением лампочек

Лига электриков

5.9K постов26.2K подписчиков

Правила сообщества

Запрещён оффтоп, нарушение основных правил пикабу

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

тс, я не увидел в комментах ответа, который тебя устроил бы, попытаю счастья со своим:

1. Прогоны

Идем вперед до выключенной, считаем x отрезков, запоминаем n ламп которые прошли, включаем ее, разворачиваемся.

Идем назад до выключенной, считаем x, запоминаем n, выключаем.

Идем вперед до выключенной…….. до тех пор, когда текущее количество шагов x сделанных по включенным лампам не будет резко увеличившимся, например в два раза больше n предыдущего, тогда предположительно мы включили все лампы

2. Проверка

Разворачиваемся, делаем маркер из двух выключенных подряд, идем до двух подряд выключенных ламп, запоминаем n…. Если n<x из последнего прогона по включенным лампам, то длина n*2 метра. Если n>x - продолжаем прогоны


Дай связь, насколько далеко от правильного?))))

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

туда-сюда. правильный подход. сейчас опубликую простой вариант формулирования алгоритма

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Вот, придумал другой


Начальную лампу считаем как 0, точка отсчета. Идем направо (против часовой), считаем Х, встречаем первую попавшуюся выключенную - останавливаемся, запоминаем Х, включаем, разворачиваемся и (зная Х) идем на ноль.

Идем налево (по часовой), считаем Y, встречаем первую попавшуюся выключенную - останавливаемся, запоминаем Y, выключаем, разворачиваемся и (зная Y) идем на ноль. Повторяем до тех пор, пока значения X текущее не повторит X предыдущее, или Y текущее не повторит Y предыдущее. Этот повтор будет означать, что где-то в глубине коридора при проходе в одну сторону мы лампу встретили, изменили её состояние, развернулись, с обратной стороны дошли до нее, изменили её состояние на первоначальное, развернулись, пошли опять в первую сторону, опять дошли до нее же и увидели измененное её состояние. Длина коридора будет (X+Y)*2 метров

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества