class ArrayStack: """ 定义一个LIFO栈,借助了Python的list作为底层实现 """ def __init__(self): """构造空栈""" self._data = [] def __len__(self): """返回栈中元素的个数""" return len(self._data) def is_empty(self): """若栈空,则返回True""" return len(self._data) == 0 def push(self, e): """向栈中压入一个元素e""" self._data.append(e) def top(self): """返回(但不删除)栈顶元素; 若栈空,则抛出错误 """ if self.is_empty(): return False return self._data[-1] def pop(self): """删除并返回栈顶元素的值; 若栈空,则抛出错误 """ if self.is_empty(): return False return self._data.pop() # 主程序开始 dic = {')': '(', ']': '['} n = int(input()) for i in range(n): S = ArrayStack() # 新建一个栈 strinput = input().strip() flag = True for x in strinput: if x in '([': S.__________ elif x in ')]': if __________: S.pop() else: flag = False break if flag == True and __________: print('Yes') else: print('No')