标记现在已经匹配到o1的第几列车了,o2从头开始,如果不匹配把o1就放入栈中,匹配后出栈并比较栈顶与o1的下一辆,匹配继续出,不匹配就继续进栈

 1 #include <iostream>
 2 #include <string>
 3 #include <cstdio>
 4 #include <stack>
 5 using namespace std;
 6 int main()
 7 {
 8     int n;
 9     while (scanf("%d", &n) != EOF)
10     {
11         string o1, o2;
12         cin >> o1 >> o2;
13         stack<int> s;
14         bool flag[1000] = {0};
15         int i = 0, j = 0, k = 1;    //i,j,k分别为O1,O2,result下标
16         s.push(o1[0]);
17         flag[0] = 1;
18         while (i < n && j < n)
19         {
20             if (!s.empty() && s.top() == o2[j])
21             {
22                 s.pop();
23                 flag[k++] = 0;
24                 ++j;
25             }
26             else
27             {
28                 s.push(o1[++i]);
29                 flag[k++] = 1;
30             }
31         }
32         if (i == n)
33             cout << "No." << endl;
34         else
35         {
36             cout << "Yes." << endl;
37             for (int i = 0; i < k; ++i)
38                 if (flag[i])
39                     cout << "in" << endl;
40                 else
41                     cout << "out" << endl;
42         }
43         cout << "FINISH" << endl;
44     }
45     system("pause");
46     return 0;
47 }

转载于:https://www.cnblogs.com/PegasusWang/archive/2013/03/27/2983944.html

hdu 1022 Train Problem I(栈)相关推荐

  1. HDU 1022[Train Problem I] 栈的应用

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022 题目大意:一列序列为s1的车厢是否能通过车站的中转以序列s2出站.白皮上有. 关键思想:栈的应用 ...

  2. hdu 1022 Train Problem I 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022 其实是一道上数据结构课讲过的例题  只不过当时讲的是怎么用手算  一道水题又花了好长时间 其实就 ...

  3. HDU 1022 Train Problem I stack 基础题

    题意: 有一个火车站,只有一个口同时用于进入和出去,但不能有2辆或以上同时进出. 给出一个n代表有n辆火车(n<=9),编号分别为1到n. 然后给出2个序列,分别代表火车进站的顺序,火车出站的顺 ...

  4. train problem I (栈水题)

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

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

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

  6. hdu 1023 Train Problem II

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

  7. 【ACM】杭电1022:Train Problem I

    分析: 明显是一个栈的问题.利用栈后进先出的特点模拟火车进站出站的过程即可轻松解决. 我的思路是: 用2个字符数组保存火车车厢的序列.首先比较出站后(记为s2)数组和出站前 (记为s1)数组的第一个元 ...

  8. NYOJ 150 Train Problem I STL栈

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

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

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

最新文章

  1. python之内置函数(二)与匿名函数、递归函数初识
  2. ICCV2019最佳论文SinGAN全面解读,看这一篇就懂了
  3. spring boot异常——java.net.BindException: Address already in use: bind
  4. 基于FPGA的bubble游戏开发
  5. 关于使用AsyncTaskLoader的使用
  6. XP Sp2下双机通过无线网卡实现Internet共享
  7. 计数原理,递推,求从左边能看到l个棒子,右边能看到r个棒子的方案数目
  8. 建筑工程项目管理信息化PM
  9. 玩转POI、EasyExcel报表导入导出!
  10. C. 啊对对对 (南阳理工oj—21第二次招新赛)
  11. windows模拟微信小程序_Windows 版微信新版本内测!小程序可以直接添加到电脑桌面了...
  12. 如何将日志配置文件放入到Apollo配置中心并支持热更新
  13. 移动端touch事件的处理
  14. 优酷用户触达平台技术大揭秘
  15. mysql批量删除数据库_数据库实现批量删除数据的操作方法(代码实例)
  16. Gradle编译spring3.x报错找不到itextpdf4.2.2解决方案
  17. 关于CRC校验的一些总结
  18. 用计算机实现的动画效果,运用PPT编辑动画效果
  19. 全球与中国LED检查灯市场深度研究分析报告
  20. Date与tring的转化

热门文章

  1. TF-IDF与余弦相似性的应用(三):自动摘要
  2. C语言库函数的实战之一
  3. 2017上半年软考 第六章 重要知识点
  4. [sh]shell案例
  5. 我这样理解技术人的成长过程
  6. android 在一个Activity(A)中结束另一个Activity(B)
  7. linux 3.0 kernel
  8. 在Asp.net中使用JQuery插件之jTip
  9. 一寸、两寸证件照photoshop批处理动作
  10. 微信/QQ 中已停止访问该网页的处理办法