РСОП XXXV 2023
34
B.
ХОРЦЕ
202
Условие
B. Хорце
---
Скобов израз е низ, съдържащ само отварящи и затварящи скоби. Правилен скобов израз е такъв скобов израз, който отговаря на условието за поставяне на скоби в аритметичен израз (в математиката и информатиката), т.е. броят на отварящите скоби е равен на броя на затварящите, а броят на отварящите скоби от началото на низа до всяка негова позиция е по-голям или равен на броя на затварящите. Хорце (от скоби) е скобов израз, чийто последен знак е съседен на първия и така се получава кръгов низ. Например, най-горната отваряща скоба от хорцето, показано вдясно на фигурата, е първата в низа ,–показан вляво на фигурата, а тази в ляво от нея – последната.
Напишете програма, която да пресметнете на колко места може да бъде разкъсано дадено хорце така, че полученят след такава операция скобов израз (съдържащ всички скоби от хорцето в зададения ред) да е правилен.
Вход: На първия ред на стандартния вход ще ще бъде зададен броя T на тестовите примери, които програмата трябва да реши при едно извикване. На всеки от следващите Т реда ще бъде зададен по един низ от скоби, който представлява хорце от скоби.
Изход: За всяко едно от хорцата, зададени на входа, програмата трябва да изведе на отделен ред на стандартния изход броя на местата, където то може да бъде разкъсано така, че полученият след разкъсването скобов израз да е правилен.
Ограничения: За дължината L на всеки от зададените на входа низове е в сила 1 ≤ L ≤ 106.
Примерен вход:
2
(()))
((()()))()
Примерен изход:
0
2
Обяснение: Първото хорце не може да бъде разцепено коректно, тъй като броят на затварящите скоби е по-голям от броя на отварящите. Второто хорце може да бъде разцепено на две места: преди първия знак на входния низ и след осмия знак. Така ще се получат правилните скобови изрази ((()()))() и ()((()())).