Есть еще такой вариант (100% гарантия правильного подсчета):
мы в вагоне Х
идем в вагон Х+1 и вкл свет
идем увагон Х-1 и выкл свет
идем в вагон Х+2 и вкл свет
идем увагон Х-2 и выкл свет
.....
идем в вагон Х + N, а в вагоне Х+N-1 свет викл, хотя мы его уже здесь включали! Тогда общее количество вагонов (N-1)*2
идем увагон Х-N, а в вагоне Х-N+1 свет горит! Тогда общее количество вагонов N*2-1. Вот и все.
Етот вариант оптимален: расстояние пройденное одинаково как и в других вариантах, а вот памяти на подсчет числа нужно меньше
