P3015 [USACO11FEB] Best Parenthesis S

题目描述

给定一个只包含左右括号的字符串,得分规则如下: 如果一对括号内没有括号,那么这对括号的得分为1;如果两对括号互不包含(即并列存在),那这两对括号的得分相加;如果括号内包含一对括号,那么这个括号的得分记为内部括号序列的得分 $\times 2$。 例如:对于这样一个字符串:`() ()`,两对括号并列存在,则得分为 $1+1=2$; 而对于这样一个字符串:`(())`,最外层的括号内层包含一对括号,则得分为 $2 \times 1 = 2$。 Bessie 想击败所有同事的牛,所以她需要计算某个字符串的评分。给定一个长度为 $n$ 、只包含括号的字符串($2 \le N \le 100000$),计算其得分帮助 Bessie。

输入格式

第一行,输入一个整数 $n$。 接下来 $n$ 行,每行一个数字,如果是 $0$,表示这个字符是 `(`;如果是 $1$,表示这个字符是 `)`。

输出格式

字符串的分数,由于数字可能会变得很大,所以对 $12345678910$ 取模。

说明/提示

样例的字符串是 `(())()`。