题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1022
#include <iostream>
#include <string>
#include <stack>
#include <vector>
using namespace std;
string strIn,strOut;
stack<char> strTmp;//临时栈
vector<string> strInfo;
int main(int argc,char* argv[])
{
int n,i,curPos;
char ch;
while(cin>>n)
{
cin>>strIn>>strOut;
curPos = 0;//out指针
while(!strTmp.empty())
{
strTmp.pop();
}
while(strInfo.size()!=0)
{
strInfo.pop_back();
}
for(i=0;i<strIn.length();++i)
{
if(strTmp.empty()==false)
{//栈不空
ch = strTmp.top();
while(strOut[curPos]==ch&&(strTmp.empty()==false))
{//相等,出栈
strTmp.pop();
strInfo.push_back("out");
curPos++;//当前指针后移
if(strTmp.empty())
{
break;
}
ch = strTmp.top();
}
strTmp.push(strIn[i]);
strInfo.push_back("in");
}
else
{//栈空
strTmp.push(strIn[i]);//入栈
strInfo.push_back("in");
}
}
while(!strTmp.empty())
{
ch = strTmp.top();
strInfo.push_back("out");
if(ch!=strOut[curPos])
{
cout<<"No."<<endl;
break;
}
strTmp.pop();
curPos++;
}
if(strTmp.empty())
{
cout<<"Yes."<<endl;
for(i=0;i<strInfo.size();++i)
{
cout<<strInfo[i]<<endl;
}
}
cout<<"FINISH"<<endl;
}
return 0;
}
本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2008/01/06/1027870.html,如需转载请自行联系原作者

HDU1022 Train Problem I相关推荐

  1. Train Problem I(火车进站问题)hdu1022

    问题 Train Problem I - http://acm.hdu.edu.cn/showproblem.php?pid=1022 分析 堆栈的核心逻辑就是"先进后出" 或 & ...

  2. hdu1032 Train Problem II (卡特兰数)

    题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能.    (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...

  3. NYOJ 150 Train Problem I STL栈

    Train Problem I 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 As the new term comes, the Ignatius Train Sta ...

  4. hdu 1023 Train Problem II

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1212 Train Problem II Description As we all know the ...

  5. Train Problem II 卡特兰裸题(入门题)

    Train Problem II  题目大意:给你一个数n,表示有n辆火车,编号从1到n,从远方驶过来,问你有多少种出站的可能. 解题思路:模拟栈的问题而已.  卡特兰问题. 1 import jav ...

  6. train problem I (栈水题)

    杭电1002http://acm.hdu.edu.cn/showproblem.php?pid=1022 Train Problem I Time Limit: 2000/1000 MS (Java/ ...

  7. Train Problem II(卡特兰数 组合数学)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1023 Train Problem II Time Limit: 2000/1000 MS (Java/ ...

  8. 【HDOJ】1022 Train Problem I_天涯浪子_新浪博客

    [题目]http://acm.hdu.edu.cn/showproblem.php?pid=1022 [报告] 模拟,直接模拟一个栈的运行就行了. [程序] // Task: 1022 Train P ...

  9. 【HDOJ】1023 Train Problem II_天涯浪子_新浪博客

    [题目]http://acm.hdu.edu.cn/showproblem.php?pid=1023 [报告] 简单粗暴的卡特兰数,不过要用大数才能过呦~ [程序] // Task: 1023 Tra ...

最新文章

  1. 连接驱动_在jdbc中完成对于jdbc参数、jdbc变量,加载驱动,创建连接的封装
  2. 常用的 iptables配置脚本
  3. html的单元格加线,html表格单元格添加斜下框线的方法
  4. 计算机二级是专业技术职务吗,计算机二级算中级技能证吗
  5. mac更新后Git无法使用的问题
  6. DBA的职场生涯应如何选择?
  7. 开发人员如何在面试中介绍自己的项目经历
  8. The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
  9. 小米电视ec、小米电视es、小米电视ea2022款的区别
  10. 个人自我介绍快闪风格PPT模板
  11. 什么是ROM、RAM、DRAM、SRAM和FLASH的区别
  12. vb 读取mysql所有表名_VB 读取ACCESS数据库中所有表名和指定表字段名.doc
  13. 数字图像 - 图像隐写
  14. python调用百度AI----文字识别
  15. MFC应用程序中添加控制台窗口---debug输出窗口
  16. windowsxp最新版本_雨林木风U盘装系统启动盘制作工具更新最新版9.0
  17. 关于单片机对三极管B值测量的硬件电路和软件思路分享
  18. 7-2 输油管道问题
  19. 所有系统如何创建宽带连接服务器,如何设置本地连接和宽带连接(打印机).doc
  20. es分布式架构和原理分析

热门文章

  1. OC----预处理器
  2. Composer php 类库商店
  3. javaSE-基础篇-经典赋值:两变量值的交换
  4. Bug:Google Analytics例子未使用example.com
  5. B站智能防挡弹幕的一种python实现
  6. CUDA学习(二十九)
  7. [转帖]成为合格系统管理员的标准
  8. vs2013代码模板设置
  9. Lua 正确的尾调用(proper tail call)
  10. CoreOS那些事之系统升级