怎么看一个网站是用什么代码做的云南今日头条新闻
思想:如果要弹出一个数,那么说明比它小的数字已经进栈了,所以要在一个数num输入之后把比它小的数都输入到栈中,直到栈满或者val==num时结束入栈操作。如果val==num,将这个值弹出,否则说明整个序列存在问题,把flag变为false,输出结果。
#include<iostream>
#include<cstring>
#include<algorithm>
#include<stack>using namespace std;
int a[1010];
int n,m,k;
bool check()
{stack<int> q;for(int i=1,j=0;i<=m;i++){q.push(i);//不断将小于a[j]的数字压入栈,直到等于a[j]if(q.size()>n) return false;//栈满,while(q.size()&&q.top()==a[j]){q.pop();j++;} }return q.empty();
}
int main()
{cin>>n>>m>>k;while(k--){for(int i=0;i<m;i++){cin>>a[i];}if(check()) cout<<"YES"<<endl;else cout<<"NO"<<endl;}return 0;
}