HDU1022 Train Problem I
2008-01-06 15:52
417 查看
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1022
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
#include <iostream>
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
#include <string>
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
#include <stack>
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
#include <vector>
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
using namespace std;
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
string strIn,strOut;
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
stack<char> strTmp;//临时栈
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
vector<string> strInfo;
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
int main(int argc,char* argv[])
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
int n,i,curPos;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
char ch;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(cin>>n)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cin>>strIn>>strOut;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
curPos = 0;//out指针
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(!strTmp.empty())
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.pop();
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(strInfo.size()!=0)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.pop_back();
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
for(i=0;i<strIn.length();++i)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(strTmp.empty()==false)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{//栈不空
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
ch = strTmp.top();
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(strOut[curPos]==ch&&(strTmp.empty()==false))
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{//相等,出栈
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.pop();
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.push_back("out");
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
curPos++;//当前指针后移
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(strTmp.empty())
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
ch = strTmp.top();
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.push(strIn[i]);
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.push_back("in");
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
else
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{//栈空
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.push(strIn[i]);//入栈
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.push_back("in");
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(!strTmp.empty())
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
ch = strTmp.top();
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.push_back("out");
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(ch!=strOut[curPos])
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cout<<"No."<<endl;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.pop();
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
curPos++;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(strTmp.empty())
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cout<<"Yes."<<endl;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
for(i=0;i<strInfo.size();++i)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cout<<strInfo[i]<<endl;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cout<<"FINISH"<<endl;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return 0;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
#include <iostream>
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
#include <string>
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
#include <stack>
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
#include <vector>
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
using namespace std;
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
string strIn,strOut;
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
stack<char> strTmp;//临时栈
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
vector<string> strInfo;
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
int main(int argc,char* argv[])
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
int n,i,curPos;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
char ch;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(cin>>n)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cin>>strIn>>strOut;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
curPos = 0;//out指针
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(!strTmp.empty())
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.pop();
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(strInfo.size()!=0)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.pop_back();
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
for(i=0;i<strIn.length();++i)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(strTmp.empty()==false)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{//栈不空
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
ch = strTmp.top();
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(strOut[curPos]==ch&&(strTmp.empty()==false))
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{//相等,出栈
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.pop();
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.push_back("out");
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
curPos++;//当前指针后移
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(strTmp.empty())
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
ch = strTmp.top();
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.push(strIn[i]);
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.push_back("in");
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
else
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{//栈空
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.push(strIn[i]);//入栈
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.push_back("in");
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
while(!strTmp.empty())
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
ch = strTmp.top();
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strInfo.push_back("out");
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(ch!=strOut[curPos])
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cout<<"No."<<endl;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
break;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
strTmp.pop();
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
curPos++;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
if(strTmp.empty())
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cout<<"Yes."<<endl;
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
for(i=0;i<strInfo.size();++i)
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://blog.csdn.net/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://blog.csdn.net/Images/dot.gif)
{
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cout<<strInfo[i]<<endl;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
cout<<"FINISH"<<endl;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/InBlock.gif)
return 0;
![](http://blog.csdn.net/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://blog.csdn.net/Images/OutliningIndicators/None.gif)
相关文章推荐
- hdu 1022 Train Problem I <stack>
- hdu 1022 Train Problem I_栈的应用经典例题
- HDU 1022 Train Problem I (STL - 栈的使用)
- HDU 1022 Train Problem I
- HDU 1022 Train Problem I (stack)
- hdu 1022 Train Problem I 简单堆栈
- HDU 1022 Train Problem I(stack)
- HDU 1022 Train Problem I
- HDU 1022 Train Problem I 模拟栈题解
- HDU 1022 ( Train Problem I )
- HDU1022——Train Problem I(栈 stack)
- HDU 1022 Train Problem I 附详细思路
- HDU 1022 Train Problem I
- HDU 1022 Train Problem I 栈
- 【栈】hdu 1022 Train Problem I(外:poj 1383 Rails)
- HDU 1022 Train Problem I
- HDU 1022 Train Problem I
- hdu 1022 Train Problem I (栈的应用)
- HDU - 1022 - Train Problem I(栈)
- hdu1022 Train Problem I