B4454 [海淀区普及组 2025 T2] 括号构造大赛

题目描述

元旦联欢会上,老师为信息学社团的同学举办了构造大赛,由老师给出两个括号序列,看谁能最快构造出最短的满足要求的括号序列,具体规则如下:对于两个字符串 $A$、$B$,若字符串 $B$ 是 $A$ 的一个子序列(不要求连续),则称 $A$ 包含了 $B$。 给出两个只由 `(` 和 `)` 组成的括号串 $S$、$T$。你需要构造一个字符串 $f$,要求同时满足: 1. 字符串 $f$ 包含 $S$; 2. 字符串 $f$ 包含 $T$; 3. $f$ 是一个合法括号串。 构造大赛要求学生写出一种 $f$ 的具体方案,但为了方便,你只需要求出满足上述条件的字符串 $f$ 的最短长度即可。 其中,合法括号串定义如下: 1. `()` 是合法括号串; 2. 若 $A$ 是合法括号串,则 $(A)$ 也是合法括号串; 3. 若 $A$ 和 $B$ 都是合法括号串,则 $AB$ 也是合法括号串。

输入格式

第一行输入一个字符串 $S$($1 \leq |S| \leq 200$)。 第二行输入一个字符串 $T$($1 \leq |T| \leq 200$)。

输出格式

一个正整数,表示最短的包含 $S$、$T$ 的括号序列长度。

说明/提示

样例 1 解释: 合法的序列可以是 `(())()()` 数据范围: 对于前 30% 的数据,满足输入的括号串长度分别不超过10。 对于另外 30% 数据,满足输入的 $S$ 串长度等于 1。 对于所有数据,满足“输入格式”中给出的数据范围。