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

【栈】hdu 1022 Train Problem I(外:poj 1383 Rails)

2013-10-27 20:38 495 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1022

#include<iostream>
#include<cstdio>
#include<stack>
using namespace std;
int main()
{
stack<char>s1;
char a[20],b[20];
int flag[25],n,i,j,k;
while(cin>>n)
{
cin>>a>>b;
while(!s1.empty())
s1.pop();
j=k=0;
for(i=0;i<n;i++)
{
s1.push(a[i]);
flag[j++]=1;
while(!s1.empty()&&b[k]==s1.top())
{
s1.pop();
k++;
flag[j++]=2;
}
}
if(s1.empty())
{
cout<<"Yes."<<endl;
for(i=0;i<j;i++)
{
if(flag[i]==1)
cout<<"in"<<endl;
else if(flag[i]==2)
cout<<"out"<<endl;
}
}
else
cout<<"No."<<endl;
cout<<"FINISH"<<endl;
}
return 0;
}


http://poj.org/problem?id=1363

#include<iostream>
#include<stack>
using namespace std;
int main()
{
stack<int>s1;
int a[1001],m,n,i,kk;
while(cin>>n&&n)
{
while(cin>>m&&m)
{
a[0]=m;
kk=0;
for(i=1;i<n;i++)
cin>>a[i];
for(i=1;i<=n;i++)
{
s1.push(i);
while(!s1.empty()&&s1.top()==a[kk])
{s1.pop();kk++;}
}
if(s1.empty())
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
while(!s1.empty())
s1.pop();
}
cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: