C1094 - 配平括号
题目描述
贝西正试图在她的新笔记本电脑上输入一串平衡的括号,但由于她的大蹄子,她经常打错字符。请帮助她计算出字符串中需要反转的最少字符数量(例如,将左括号变为右括号,或相反),以使字符串变得平衡。
对于括号字符串“平衡”有几种定义。也许最简单的定义是括号 '(' 和 ')' 的总数量必须相同,并且对于字符串的任何前缀,'(' 的数量必须至少等于 ')' 的数量。例如,以下字符串都是平衡的:
()(())()(()())
而这些则不是:
)(())(((())))
给出一个偶数长度的括号序列,问最少修改多少个括号可以使其平衡。
输入格式
1行字符串代表括号序列,只包含左括号和右括号,不包含空格
输出格式
1行,1个整数,代表最少需要修改的括号数
输入输出样例
| 输入样例 | 输出样例 |
|---|---|
| ())( | 2 |
| ))))(((( | 4 |
数据范围与提示
对于100%的数据满足:2 <= 输出字符串长度 <= 100,000,左右括号的总个数为偶数
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1094.in,输出文件名为:C1094.out