6ondawave9, если ограничиться только шагами "вниз", "вправо" и "вправо-вниз" (каждый раз выбирая случайно из доступных вариантов), то сделать очень просто. Тебе такое норм? Или хочется, чтобы мог и вверх, и влево?
в искомом слове надо предварительно убрать все повторы символов на соседних позициях ("aaabbcc" превращается в "abc"), иначе понадобились бы ещё переходы (x, y, k) -> (x, y, k+1)
Странно, что никто не сократил это до одного условия
потому что это просто удачное совпадение, что там 3 строки одинаковые. Вернее сказать, неудачный пример ) Чел спрашивает, как быть с тернарниками вообще.
Корень, у тебя conn.commit() в самом конце. То есть сначала отрабатывает весь поиск подходящих (a, b, c). И если ты перезагрузишь комп до завершения цикла, то ничего не сохранится в базу.
Корень, если ты перезагружаешь комп, то в любом случае непонятно, на чем всё закончилось и откуда продолжить. Впрочем, это легко выяснить, если заселектить из solutions максимальную пару (a, b)
Ещё я бы не менял "==" на пару "<=" и ">=", а сразу схлопывал две вершины в одну (при этом ребра "поглощаемой" вершины переходят на "основную"). При схлопывании "X === число" основной вершиной всегда делать число
Danya Wyse, рега всегда проверяет наличие паттерна внутри строки, а не соответствие строки паттерну.
Внутри твоей строки есть подстрока из цифр длиной от 1 до 12.
^ и $ добавляют доп. условия, паттерн получается такой: "начало строки, после которого от 1 до 12 цифр, потом конец строки". И уже такого паттерна в строке "12345678910111213" не найдется.
почему? они оба равны 100