#2576. 「一本通 5.1 练习 1」括号配对

「一本通 5.1 练习 1」括号配对

题目描述

Hecy 正在处理一类特殊的括号表达式,称为 GBE(Good Bracket Expression)。

GBE 由字符 '('、')'、'['、']' 组成,并按如下规则定义:

  1. 空字符串是 GBE;
  2. 如果字符串 A 是 GBE,那么 [A] 和 (A) 也是 GBE;
  3. 如果字符串 A 和 B 都是 GBE,那么将它们拼接得到的 AB 也是 GBE。

换句话说,GBE 就是合法且正确嵌套的混合括号序列,其中圆括号 () 和方括号 [] 各自独立配对,不能交叉(例如 [(]) 不合法)。

现在给你一个括号字符串(可能不合法),你只能添加括号字符(不能删除或修改已有字符)。
请计算:最少需要添加多少个字符,才能使该字符串变为一个 GBE。

输入格式

输入仅一行,包含一个字符串,表示给定的括号表达式。
字符串长度小于 100,仅包含字符 '('、')'、'['、']'。

输出格式

输出一个整数,表示最少需要添加的字符数量。

[])
1

样例说明

原字符串为 [])。
可以在开头添加一个 '(',得到 "([])",这是一个合法的 GBE。
因此最少只需添加 1 个字符。

数据范围与提示

对于 100%100\% 的数据,输入的字符串长度小于 100100