40
кнопок. Однако легко показать, что этого делать и не нужно.
Заметим, что если любая из кнопок была нажата дважды, то
состояние всех ламп не изменится . Поэтому следует учитывать
лишь кнопки , которые были нажаты нечетное количество раз.
Общее число ламп также не влияет на сложность решения
задачи , так как на самом деле все лампы можно разделить на
четыре непересекающиеся группы : лампы с нечетными
номерами, не попадающими во множество ламп с номерами
{3k+1, k>=0}, аналогичные лампы с четными номерами, лампы
с нечетными номерами из множества {3k+1, k>=0} и лампы с
четными номерами из этого же множества. Все лампы каждой
из перечисленных групп одинаково реагируют на нажатие
любых кнопок. А именно: лампы из первой группы меняют свое
состояние лишь при нажатии кнопок 1 и 2, второй группы –
кнопок 1 и 3, третьей группы – кнопок 1,2 и 4, четвертой группы
– 1,3, и 4. Причем в конечном состоянии лампочка окажется
выключенной, если сумма нажатий влияющих на нее кнопок
окажется нечетной, и включенной в противном случае .
Опираясь на сказанное выше, будем решать задачу
следующим образом . Переберем все возможные
принципиальные варианты количества нажатий каждой из
кнопок. Так как для каждой кнопки в отдельности таких
вариантов всего 2: четное число нажатий, которое можно
обозначить 0, и нечетное – 1, то общее количество вариантов
равно 16. Для каждой из 16 комбинаций нажатий кнопок
определим, какие группы лампочек в этом случае окажутся
включенными, а какие выключенными. Полученную
информацию сравним с входными данными, и если
противоречия нет, то данные состояния лампочек можно