вторник, 27 мая 2014 г.

Переключатели

Переключатель
Вы сидите за квадратным столом в тёмной комнате. В каждом из четырёх углов стола находится по одному переключателю. Каждый переключатель имеет два положения: O и I. Стол может свободно вращаться. И делает это периодически, останавливаясь в произвольном положении. После остановки вы можете выбрать два любых переключателя, определить их положение и изменить состояние либо одного из них, либо обоих, либо оставить их положения без изменений. Два оставшихся переключателя вы не видите и трогать их не разрешается. После чего стол опять вращается и останавливается в произвольном положении. Действия между вращениями стола будем называть ходом. Как только все четыре переключателя будут в одинаковом положении (O или I) в комнате включится свет. За какое минимальное количество ходов можно гарантировано включить свет? И как это сделать?

update
Первым решил головоломку Илья.
Ответ
1. Выбираем два соседних тумблера. Переключаем их в положение I.
2. Выбираем два диагональных тумблера. Один из них обязательно находится в положении I. Если другой O, то переключаем его в I. Если свет после этого не включится, то на столе одно из четырёх положений IIIO.
3. Выбираем два диагональных тумблера. Если один из них O, то переключаем его и свет загорается. Если свет не включился, то переключаем любой из тумблеров I в положение O. После этого на столе возникает одно из четырёх положений IIOO.
4. Выбираем два соседних тумблера. Если они в одинаковом положении, то переключаем оба и включаем свет. Если в разных - переключаем оба на противоположные. На столе возникает одна из двух ситуаций IOIO, то есть на одной диагонали у нас два положения I, на другой - два положения O.
5. Выбираем два диагональных тумблера и переключаем их на противоположные. Свет гарантировано включится.

6 комментариев:

  1. Кажется, могу сделать за 5 действий.

    1. Привести два соседних в положение 0.
    2. Рассмотреть два по диагонали. Один из них обязательно 0. Если другой 1, то переключить его на 0.
    Если свет после этого не включится, значит у нас 0001.
    3. Выбрать два по диагонали. Если один из них 1, то переключаем его и зажигаем свет. Иначе переключаем любой из положения 0 в положение 1.
    После этого у нас два соседних 1, и два других 0.
    4. Проверяем два соседних. Если они одинаковые, то переключаем оба и включаем свет. Если разные - то опять переключаем оба.
    После этого по одной диагонали у нас 1, по другой - 0.
    5. Выбираем любую диагональ и меняем положения обоих переключателей. Да будет свет :)

    ОтветитьУдалить
  2. Не знаю как вам, а мне головоломка очень понравилась :)

    ОтветитьУдалить
  3. А как доказать, что нельзя справиться быстрее?

    ОтветитьУдалить
    Ответы
    1. Думаю, при желании это можно сделать.

      Удалить
    2. Пожалуй, да. Легко доказать, что за три хода гарантировать включение света нельзя, а за четыре - наверное чуть-чуть посложнее, но осуществимо :)

      Удалить