题目: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; }