1347: Вставити дужки

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 16,00 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Маші необхідно на завтра вирішити задачу, і їй потрібна Ваша допомога. Ось завдання:

Заданий рядок, що складається з дужок. Необхідно перетворити цей рядок в правильну послідовність, вставляючи якомога меншу кількість дужок в будь-яку позицію (видаляти або змінювати існуючі дужки можна). Правильною є послідовність, яка задовольняє наступним правилам:

Порожня послідовність є правильною.

Якщо послідовність s є правильною, то ~(s)~ також правильна послідовність.

Якщо дві послідовності ~s~ і ~t ~ правильні, то їх конкатенація ~st~ також правильна дужкова послідовність.

Наприклад, "(()())", "" і "(())()" правильні рядки, а "()) (", "() (" і ")" - ні.

Формат вхідних даних

Заданий рядок з дужок, який містить від 1 до 50 символів включно.

Формат вихідних даних

Вивести найменшу кількість дужок, яку слід вставити, для того щоб вхідний рядок став правильною дужковою послідовністю.

Приклад вхідних даних

(()(()

Приклад вихідних даних

2

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.