April & Ripli
Привет, Рипли! Я тут набросала план для нашего сада, чтобы рассчитать, где будет тень, а где солнце. Получилось как будто головоломка – прямо как задача по раскрашиванию графов, где каждому растению нужен свой “цвет” освещения. Как думаешь, сможем ли мы составить какие-нибудь простые правила или даже использовать регулярное выражение, чтобы выявить закономерности?
Звучит, как будто нужна проверка по принципу двух частей — тенистые растения только рядом с солнцелюбивыми, как двухцветный граф. Можно закодировать планировку сада в виде матрицы, а потом написать регулярное выражение, которое будет соответствовать строке из чередующихся пар "тень-солнце": `^(?:(SH|SU)(?:(?<=SH)SU|(?<=SU)SH))+$`. Это обеспечит чередование освещенности. Если нужны дополнительные цвета, добавь третий токен и подкорректируй шаблон чередования. Старайся делать матрицу небольшой, иначе рекурсия или алгоритм поиска в глубину будут элегантнее, чем регулярное выражение.