火车进站(栈)

来源:互联网 发布:东华大学网络教育 编辑:程序博客网 时间:2024/04/27 16:22
//火车进站问题(栈)#include<cstdio>#include<stack>using namespace std;int a[1001],n;int main(){while(scanf("%d",&n)==1){stack<int> s;int A=1,B=1;for(int i=1;i<=n;i++)scanf("%d",&a[i]);int ok=1;while(B<=n){if(A==a[B]){A++;B++;}else if(!s.empty()&&s.top()==a[B]){s.pop();B++;}else if(A<=n){s.push(A++);}else{ok=0;break;}}printf("%s\n",ok?"Yes":"No");}return 0;}

原创粉丝点击