2705 - 括号子串

题目描述

给出一个仅由 () 构成的括号字符串。

定义合法的括号串为:正确匹配的括号串,即:所有的左右小括号都正确的嵌套,且每个左括号都能唯一的匹配到对应的右括号,每个右括号都有唯一的左括号与其匹配。

比如:(())()()((())) 都是合法的括号串。而 )((())(()()( 都不是合法的括号串。

请编程求出,给定的括号串中,有多少个合法括号子串

括号子串的定义是:从括号串中取出任意连续字符,形成的合法括号子串。需要注意的是,在括号串的不同位置取出内容相同的合法括号子串,认为是不同的合法括号子串。

输入

输入一个字符串,表示给定的括号串。

输出

输出合法的括号子串的数量。

样例

输入

(())()

输出

4

输入

((())(

输出

2

输入

(()())()

输出

6
说明

样例 1 解释

样例 1 可以取出 4 种合法的括号子串,分别是如下 4 个括号串中加粗的部分。

(())()

(())()

(())()

(())()

数据范围

对于 50\% 的数据,括号串的长度 L 满足 1 \le L \le 50

对于 100\% 的数据,括号串的长度 L 满足 1 \le L \le 10^6

来源

东方博宜OJ

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 1 枚
难度 基础


上一题 下一题