打卡信奥刷题(1610)用C++实现信奥 P7248 [BalticOI 2012] 括号 (Day1)

P7248 [BalticOI 2012] 括号 (Day1)

题目描述

一个合法括号序列的定义如下:

  • () 和 [] 是合法括号序列
  • 若 A 是合法括号序列,则 (A) 和 [A] 也是合法括号序列
  • 若 A 和 B 都是合法括号序列,则 AB 也是合法括号序列

在包含至少一对方括号的合法括号序列中,我们可以将 [ 和 ] 都用 ( 代替,这样就能够得到一个不合法括号序列。

例如 (( 和 ((((())) 都是不合法括号序列,前者可以由合法括号序列 [] 转化而来,后者可以通过 []((())),([](())),(([]())) 和 ((([]))) 这四种合法括号序列转化而来。

现在给出一个不合法括号序列,求有多少种合法括号序列,在将其中的方括号用 ( 代替后,可以得到给定的括号序列。

输入格式

第一行一个正整数 n n n,表示给出的不合法括号序列的长度。
第二行一个长度为 n n n 的字符串,代表给出的序列,只包含 ( 和 )。

输出格式

输出符合要求的合法括号序列总数对 1 0 9 + 9 10^9+9 109+9 取模后的结果。

输入输出样例 #1

输入 #1

4
((()

输出 #1

2

输入输出样例 #2

输入 #2

8
((((((((

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值