http://acm.hdu.edu.cn/showproblem.php?pid=4915 给定一个序列,由()?组成,其中?可以表示(或者),问说有一种.多种或者不存在匹配. 从左向右,优先填满n/2个左括号,继续填充右括号.如果过程中出现矛盾(右括号数超过左括号数),则为None,否则要判断唯一解还是多解. 之前遍历的时候记录恰好填满了n/2个左括号后,第一次添加右括号的位置强行设置成左括号,问号数自减一,在跑一遍,若能跑通则说明有多解,否则单一解 #include <cstdio> #…