将1~n压入最多为m元素的栈给出k个出栈序列,问你是否能够实现。能输出YES否则NO模拟一遍即可,水题。
#include#include #include #include using namespace std;const int maxn=1005;int m,n,k;int seq[maxn];int stacks[maxn];int rear=0;int main(){ int val; scanf("%d %d %d",&m,&n,&k); for(int i=0;i =m && num!=seq[j]){ flag=false; break; } //对尾是否是要pop的元素 if(stacks[rear-1]==seq[j]) rear--; else{ flag=false; break; } } if(flag) printf("YES\n"); else printf("NO\n"); } return 0;}