Задача

Припишем каждому, стоящему в очереди, «1» или «0», в зависимости от того, голосует он «за» или «против». Известно, что рядом с каждым человеком (непосредственно впереди его в очереди или сзади) есть человек, голосующий «за». Постройте регулярное выражение, описывающее все такие наборы из 0 и 1, или докажите, что это невозможно.

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

Понятно, что единицы всегда должны быть минимум "парами", ноли же максимум по два. Выражение может начинаться либо с 0, либо с 1. В первом случае следующей цифрой всегда будет 1, потом еще 1, дальше же может следовать либо любое число единиц и 0, либо любое число единиц и 001, 1 стоит чтобы предотвратить 3 ноля подряд, либо просто любое число единиц. Причем 1 и выбор должны повторяться. Если же число начинается на 1, то следующая цифра опять же 1, дальше может следжовать или любое число 1, или 01 и любое число 1, или же 001 и опять же люьое число единиц. 1 после 0 нужны для предотвращения появления 3 нолей подряд.