/ it Задачи / Бесконечный поезд

Бесконечный поезд

Бесконечный поезд

Непростая задача, которая сможет проверить вашу логику. Эту задачу любят задавать на различных собеседованиях, так что будет здорово, если вы её решите
Для начала давайте представим что вы находитесь в поезде, который ездит по кругу и последний вагон данного поезда скреплен с первым вагоном поезда. Так что вы можете ходить по поезду до бесконечности. Так получилось, что вы оказались в каком-либо случайном вагоне и теперь ваша задача подсчитать общее число вагонов в поезде. В каждом вагоне есть переключатель, который может включить или же выключить свет в вагоне. Изначально все переключатели находятся в случайном положение и это заранее неизвестно.

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

Решение задачи

В вагоне, в котором вы оказались включите или же выключите свет, если он уже был включен. Теперь начните идти по поезду, при этом не забывайте считать те вагоны, которые вы уже прошли. Если вы попадаете в вагон, где горит свет (вы вначале включили свет в своем вагоне), то выключаете свет и идете обратно столько же вагонов, сколько шли до этого вагона. Теперь когда вы вернулись в точку откуда начали вы можете посмотреть на свет. Если он выключился значит вы прошли полный круг и выключили свет, если нет, то повторите все заново. Пройдите в обратную сторону, выключите свет, потом назад и если теперь свет погас, то вы можете ответить какое количество вагонов в этом поезде. Таким образом повторяя это действие вы сможете добиться нужного результата.

Больше интересных новостей