TGViewer
SQLpedia | Базы данных SQLpedia | Базы данных @sql_wiki · 5.95K subscribers
Post #782 2.63K

Forwarded from BApedia | Бизнес-анализ

Алоха, коллеги!
Сегодня дадим вам задачу на логику из нашей рубрики #fromInterviewWithLove

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

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

В этой задаче есть 2 решения:

Решение 1
Вам нужно включить свет в начальном вагоне, в котором вы находитесь, если он ещё не горит. Затем пойти в одну любую сторону до тех пор, пока не встретите вагон с работающим освещением, при этом обязательно считать пройденные вагоны. Выключаете в найденном вагоне свет и идёте обратно к начальному. Если в нём свет всё ещё горит, то повторяете операцию. Если же нет, значит вы прошли полный круг и знаете ответ.

Решение2
С таким же успехом можно, например, ходить по сторонам от начального вагона на равные расстояния, постепенно их увеличивая, и инвертировать в них свет. То есть если считать, что сначала вы в вагоне с номером 0, то ходить надо в -1, 1, -2, 2, -3, 3 и так далее. Если при этом запоминать состояние самого дальнего вагона, то при повторном прохождении мимо него вы заметите изменившийся свет, если круг замкнётся. А зная длину пути в обе стороны, вы легко вычислите общее количество вагонов.


BApedia
  • 👍 9
  • 🔥 1
More from @sql_wiki
  1. Sep 29, 2026Отчет отвечает на вопрос, что уже произошло В рекомендательных системах важнее другой вопр…
  2. Apr 20, 2026​​Как читать BUFFERS в EXPLAIN ANALYZE и находить I/O-узкие места в PostgreSQL PostgreSQL…
  3. Apr 15, 2026​​Как мы строим OLTP-ядро: от API-контрактов до eBPF-проб В предыдущих статьях я подробно…
  4. Apr 13, 2026​​Как мы строим OLTP-ядро: от API-контрактов до eBPF-проб В предыдущих статьях я подробно…
  5. Apr 6, 2026​​Мониторинг SQL Server Always On в Zabbix Если у вас в инфраструктуре стоит Always On Ava…
  6. Apr 3, 2026​​Гайд системного аналитика по корректировкам витрин Данный материал подходит для тех сотр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →