Задача

Вдоль длинной улицы расположены дома, в каждом из которых живёт по одному человеку. Каждый из жителей улицы является сторонником одной из двух политических партий: 1 или 2. Каждый день каждый человек общается со всеми своими соседями (с одним соседом, если человек живёт в на краю улицы и с обоими соседями в остальных случаях). За ночь он обдумывает полученную от них информацию, и если оказывается, что двое его соседей являются сторонниками противоположной политической партии, к утру человек меняет свои взгляды.

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

Решение участника

q1 и q2 ищут конец последовательностей из единиц и двоек, так как там нечего менять. Как только они встречают отличный от их последовательности символ, они проверяют, является ли следующий после него таким же, как и предыдущий (1111121 или 2222212) и заменяет найденный с помощью q5 и q6 соответственно. После это проверяем, не могло ли быть ситуации, когда следующий тоже изменит свой взгляд за ночь (1212 или 2121). Если следующий после следующего отличается, мы заменяем его и проверяем дальше.