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
",ok?"YES":"NO");
    }
    return 0;
}
技进乎艺,艺进乎道
原文地址:https://www.cnblogs.com/weekend/p/5503991.html