Обновить
13
0

Пользователь

Отправить сообщение

Не знаю. Такие формулы нас даже читать не заставляли, не то, что выводить. А жаль. Но я и учился в очень средненьком университете.

Ну представьте, что одно состояние - это один из множества наборов пар (n_i,\epsilon_i)

Этот код работает для правильной скобочной последовательности, без проверок за выход из диапазона для массивов.
"(()(()())...())" -неправильная скобочная последовательность
Это вообще не скобочная последовательность
Три точки тут для отображения того, что здесь может быть любая скобочная правильная последовательность.
Исправьте на правильную
"()()(())" "()(())()((()))" и тп
Ну и код не работает для "()", так как есть 2...n, а такой диапазон даст ошибку, так как n должен быть больше или равен 2.
Код просто нужно обернуть в функцию и перед ее заупском сделать требуемые проверки.
Делать проверки в самом алгоритме - неправильно, это влияет на производительность, их нужно делать перед проверкой.
Если хочется исправить и случай для "()" вместо for нужно просто while использовать.

Звучит интересно. Нашел что-то еще?

Да это сложное решение какое-то. Мне мое кажется попроще. Но однажды придется сесть и разобраться, кажется.

Наименование переменных, конечно, ужасное
Исправлю по мере возможности.

Спасибо! Исправил на сколько смог.

В комбинаторике никогда силен не был:(

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность