UVa - 514 - Rails(栈-stack)

来源:互联网 发布:rcpp软件 编辑:程序博客网 时间:2024/05/16 13:40





#include<cstdio>#include<stack>using namespace std;int n,x;int main(){//freopen("input.txt","r",stdin);while(scanf("%d",&n)!=EOF){if(n==0)break;int order[n+1];stack<int>s;while(scanf("%d",&x)!=EOF){if(x==0){printf("\n");break;}order[1]=x;for(int i=2 ;i<=n ;i++){scanf("%d",&x);order[i] = x;}int A=1,B=1;int ans = 1;while(B<=n){if(A==order[B]){A++;B++;}else if(!s.empty()&&order[B]==s.top()){B++;s.pop();}else if(A<=n){s.push(A);A++;}else{ans = 0;break;}}if(ans)printf("Yes\n");elseprintf("No\n");}}return 0;} 


0 0