AcWing 1535. 弹出序列
原题链接
中等
作者:
叶枝黎曼
,
2020-10-30 15:04:18
,
所有人可见
,
阅读 323
栈的模拟
对栈的弹出与压入进行模拟
python版本
#弹出序列
def check():
global temp
stack = []
j = 1 #按顺序压入的数字
num = 0 #记录栈中元素个数
i = 0 #当前比对的位置
while True:
if num > 0 and stack[-1] == temp[i]: #弹出
del stack[-1]
num -= 1
i += 1
else:
stack.append(j) #压入
num += 1
j += 1
if i == n or num > m: #循环结条件
break
if num == 0:
return True
else:
return False
m,n,k = map(int,input().split())
for i in range(k):
temp = [int(i) for i in input().split()]
if check():
print("YES")
else:
print("NO")