A74560.括号序列

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个长度为 nn 的括号序列 aa ,这个序列 aa 是长度为 mm合法括号序列 bb 的子序列。

午枫想知道序列 bb 有多少种可能。

一个括号序列是合法的,那它满足以下任意一个条件:

  • 它的长度是 00
  • 它可以用 (A)(A) 来表示,其中 AA 是一个合法括号序列。
  • 它可以用 ABAB 来表示,其中 AABB 都是合法括号序列。

如果序列 B 可以通过删除任意个(可能是零个或全部)元素得到序列 AA ,那么序列 AA 为 序列 BB 的子序列。

输入格式

每一个测试点包含多组数据,第一行输入一个正整数 tt (1t100)(1\leq t\leq 100) ,表示数据组数。

对于每一组数据:

第一行输入两个正整数 n,mn,m (1nm300)(1\leq n\leq m\leq 300) ,分别表示序列 aa 的长度和序列 bb 的长度。

第二行输入一个长度为 nn 的括号序列 aa ,不保证序列 aa 是合法括号序列。

保证所有数据 mm 的总和不超过 10310^3

输出格式

对于每一组数据,输出一个正整数表示序列 bb 的数量,由于答案可能很大,输出答案模 109+710^9+7 即可。

输入输出样例

  • 输入#1

    3
    2 2
    ()
    2 4
    )(
    2 4
    ()

    输出#1

    1
    1
    2

说明/提示

样例一解释

满足条件的序列 bb 只有 () ,因此答案为 11

样例二解释

满足条件的序列 bb 只有 ()() ,因此答案为 11

样例三解释

满足条件的序列 bb()()(()) ,因此答案为 22

首页