UVa-514-Rails

题目:UVa 514 Rails

题目分析:在中转站C中,车厢符合后进先出的原则,因此是一个栈。

 

#include <iostream>
#include <cstdio>
#include <stack>
using namespace std;
const int MAXN = 1000+10;

int n,target[MAXN];

int main()
{
  while(scanf("%d",&n) == 1){
    stack<int> s;
    int A=1,B=1;
    for(int i=1;i<=n;++i)
        scanf("%d",&target[i]);
        int ok = 1;
        while(B <= n ){
            if(A == target[B]){A++;B++;}
            else if(!s.empty() && s.top() == target[B]){s.pop();B++;}
            else if (A<=n) s.push(A++);
            else{ok = 0;break;}
        }
    printf("%s\n",ok?"YES":"NO");
    }
    return 0;
}

 

posted @ 2016-05-18 09:16  VictorWei  阅读(136)  评论(0编辑  收藏  举报