您的位置:首页 > 大数据 > 人工智能

hoj 1067 Rails //poj1363 Rails 栈的简单应用

2012-03-23 19:15 218 查看
//ACM ICPC Central European Regional 1997

/*

简单的栈的应用,可惜WA了好几次

poj上要把最后的while后的cout<<endl;去掉

*/

#include <iostream>

#include <stack>

#include <cstdio>

using namespace std;

const int X = 1005;

int a[X],b[X];

int main()

{

freopen("sum.in","r",stdin);

freopen("sum.out","w",stdout);

int n,x,t = 0;

while(cin>>n,n)

{

if(t++)

cout<<endl;

while(cin>>x,x)

{

stack<int> s;

a[1] = x;

for(int i=2;i<=n;i++)

scanf("%d",a+i);

int cnt = 1;

int B = 1;

for(int i=1;i<=n;i++)

{

s.push(i);

if(s.top()==a[cnt])

{

while(!s.empty())

{

if(s.top()==a[cnt])

{

b[B++] = s.top();

cnt++;

s.pop();

}

else

break;

}

}

}

bool flag = true;

for(int i=1;i<=n;i++)

if(a[i]!=b[i])

{

flag = false;

cout<<"No"<<endl;

break;

}

if(flag)

cout<<"Yes"<<endl;

}

}

cout<<endl;

return 0;

}

编辑器加载中...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: