某城市有个火车站,铁轨铺设如图,有n节车厢从A方向驶入车站,按进站顺序编号为1~n。你的任务是判断他们是否能按照某中特定顺序进入B站方向的铁轨并驶出车站,例如,出栈顺序(5 4 1 2 3)是不可能的,但(5 4 3 2 1)是可能的。注意:火车的行驶方向只能是A->C 和 C->B。
因为火车完全可以在下一节来之前就离开,也算是某中意义上的先进先出,否则就是先进后出,因为进场顺序始终不变,我们可以将本该进B车站的车厢用栈存起来。
下面展示一些 内联代码片
。
#include <cstdio>
#include <iostream>
#include <stack>
using namespace std;
const int MAXN = 1000+5;
int a[MAXN];
int flag=0;
#define print printf