uva514(trail)(模拟栈)

时间:2023-03-10 01:49:20
uva514(trail)(模拟栈)
 //#define LOCAL
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<stack>
using namespace std;
const int maxn=;
stack<int>train;
int ss[maxn];
int main()
{
#ifdef LOCAL
freopen("test.in","r",stdin);
#endif
int n,k;
while(scanf("%d",&n)&&n>)
{
while()
{
scanf("%d",&ss[]);
if(ss[]==)break;
for(int i=;i<=n;i++)
scanf("%d",ss+i);
while(!train.empty())
train.pop();
k=;
for(int i=;i<=n;i++)
{
train.push(i);
while(!train.empty()&&train.top()==ss[k])
{
k++;
train.pop();
}
}
if(train.empty())printf("Yes\n");
else printf("No\n");
}
}
return ;
}

题意: 一辆火车一次车厢依次进栈(1,2,3,4,5...,n),问有没有可能有安给出的方式出栈。