众所周知,任何一个现代编辑器都有括号匹配功能。当你编辑代码的时候,把光标移到一个括号上,编辑器就会提示你与之对应的括号。小 F 想研究这个功能的原理。
为了简化问题,小 F 打算只研究代码中的大括号。去掉其它字符后,代码中只有{ (左大括号)和 (右大括号)}两种字符,总长度为n 。
括号匹配的规则是:
-
{}是最简单的括号序列,其左右括号互相匹配;
-
如果 S 是一个括号序列,那么 {S} 也是一个括号序列,其左边的左括号和右边的右括号互相匹配;
-
如果A 、B都是一个括号序列,那么 AB(将 A 和 B 直接拼接)也是一个括号序列。
小 F 现在打开了这份简化后的代码,他的光标正指向第 P 个字符(从 1 开始)。小 F 希望知道与这个字符相匹配的括号是第几个字符。
小 F 研究了三天三夜,还没研究出来。无奈之下,他请你给他写一个程序,完成这个功能。