305366: CF1015F. Bracket Substring
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Bracket Substring
题意翻译
给你一个括号序列 $s$ (不一定是常规序列)。 括号序列是仅包含字符'('和')'的字符串。 常规括号序列是一种特殊的括号序列,它可以通过在序列的原始字符之间插入字符“1”和“+”来转换为正确的算术表达式。 例如,括号序列“()()”和“(())”是常规的(结果表达式为:“(1)+(1)”和“((1 + 1)+1)”),以及 “)(”,“(”和“)”不是。 你的问题是计算长度为 $2n$ 的常规括号序列的数量,而且必须满足给定括号序列 $s$ 是它的子串(连续字符序列)。输出这个数量模 $10 ^ 9 + 7$ (1000000007)的结果。题目描述
You are given a bracket sequence $ s $ (not necessarily a regular one). A bracket sequence is a string containing only characters '(' and ')'. A regular bracket sequence is a bracket sequence that can be transformed into a correct arithmetic expression by inserting characters '1' and '+' between the original characters of the sequence. For example, bracket sequences "()()" and "(())" are regular (the resulting expressions are: "(1)+(1)" and "((1+1)+1)"), and ")(", "(" and ")" are not. Your problem is to calculate the number of regular bracket sequences of length $ 2n $ containing the given bracket sequence $ s $ as a substring (consecutive sequence of characters) modulo $ 10^9+7 $ ( $ 1000000007 $ ).输入输出格式
输入格式
The first line of the input contains one integer $ n $ ( $ 1 \le n \le 100 $ ) — the half-length of the resulting regular bracket sequences (the resulting sequences must have length equal to $ 2n $ ). The second line of the input contains one string $ s $ ( $ 1 \le |s| \le 200 $ ) — the string $ s $ that should be a substring in each of the resulting regular bracket sequences ( $ |s| $ is the length of $ s $ ).
输出格式
Print only one integer — the number of regular bracket sequences containing the given bracket sequence $ s $ as a substring. Since this number can be huge, print it modulo $ 10^9+7 $ ( $ 1000000007 $ ).
输入输出样例
输入样例 #1
5
()))()
输出样例 #1
5
输入样例 #2
3
(()
输出样例 #2
4
输入样例 #3
2
(((
输出样例 #3
0