题意:

有一个火车站,只有一个口同时用于进入和出去,但不能有2辆或以上同时进出。

给出一个n代表有n辆火车(n<=9),编号分别为1到n。

然后给出2个序列,分别代表火车进站的顺序,火车出站的顺序。

问按照这个进站的顺序,能不能按照这个出站的顺序出站。

若能,输出这个口进出的顺序。

Sample Input
3 123 321
3 123 312

 
Sample Output
Yes.
in
in
in
out
out
out
FINISH
No.
FINISH
直接用stack进行模拟就OK了。
只要确定好什么情况下为Yes,什么情况下为No。

 1 #include<cstdio>
 2 #include<stack>
 3 #include<cstring>
 4 using namespace std;
 5 char in[12];
 6 char out[12];
 7 int ans[24];
 8 int main()
 9 {
10     int n;
11     while(scanf("%d",&n)!=EOF)
12     {
13         scanf("%s",in+1);
14         scanf("%s",out+1);
15         memset(ans,-1,sizeof(ans));
16         stack<char>s;
17         while(!s.empty())
18             s.pop();
19         int i=1,j=1;
20         s.push(in[i]);
21         int tot=1;
22         ans[tot++]=0;
23         bool flag=false;
24         while(i<n+1)
25         {
26             while(s.size()&&s.top()==out[j])
27             {
28                 s.pop();
29                 ans[tot++]=1;
30                 j++;
31                 if(j==n+1)
32                     break;
33             }
34             if(j==n+1)
35             {
36                 flag=true;
37                 break;
38             }
39             i++;
40             if(i<=n)
41             {
42                 s.push(in[i]);
43                 ans[tot++]=0;
44             }
45         }
46         if(flag)
47         {
48             printf("Yes.\n");
49             for(int i=1;i<tot;i++)
50                 if(ans[i]==0)
51                     printf("in\n");
52                 else
53                     printf("out\n");
54             printf("FINISH\n");
55         }
56         else
57         {
58             printf("No.\nFINISH\n");
59         }
60     }
61     return 0;
62 }

提交代码

转载于:https://www.cnblogs.com/-maybe/p/4393982.html

HDU 1022 Train Problem I stack 基础题相关推荐

  1. hdu 1022 Train Problem I 解题报告

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

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

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

  3. hdu 1022 Train Problem I(栈)

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

  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. Train Problem II 卡特兰裸题(入门题)

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

  8. HDU 5427 A problem of sorting 水题

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5427 A problem of sorting Time Limit: 2000/1000 MS ( ...

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

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

最新文章

  1. java集合(6):TreeMap源码分析(jdk1.8)
  2. python怎么把所有标点符号置空_Python从小白到攻城狮(1)——python环境搭建
  3. 把一个一维数组转换为in ()
  4. 解决问题的经验-javaweb-第一次-已掌握技术栈大致总结(部分),和相关理解,总结,以及对未来学习方向的规划
  5. P1352 没有上司的舞会
  6. corosync+pacemaker在centos7上的安装,配置简述
  7. typora 公式_如何用Typora写Markdown上传至知乎
  8. sinaapp mysql连接_手把手教你在新浪云上免费部署自己的网站--连接数据库
  9. c语言qt生成dll与加载dll,Qt制作界面的DLL以及调用
  10. prototype.js教程及prototype中文手册
  11. 用DropDownList做的日期
  12. 面试题整理 | 45道CSS面试题
  13. cas入门之:cas 4 如何以http形式发布
  14. 记一次windows系统主引导修复
  15. 线下综合体-中岛店的一些思考
  16. 用C语言学习高中数学:补集
  17. 手机虚拟摄像头_科幻电影成为现实?感受虚拟键盘的狂拽炫酷
  18. elk笔记16--aggs-Bucket Aggregations
  19. html表格标题居于标题左侧,css如何设置表格标题(caption标签)的位置
  20. 中国民营医疗产业经营管理模式与“十四五”发展规划建议报告2021-2027年版

热门文章

  1. java实现rabbitmq任务模型(work queues), 生产者 消费者 消息队列 能者多劳
  2. JAXB处理java对象与xml格式之间的转换
  3. RISC-V教材勘误
  4. BSD/MIT/Apache许可证印象尚可
  5. linux中pstree命令的含义,pstree命令--Linux命令应用大词典729个命令解读
  6. Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换
  7. 游戏经济系统分析:通货与交易
  8. (转)Managed DirectX +C# 开发(入门篇)(四)
  9. Matlab中vpa一直在忙,matlab数据类型转换遇到问题,及解决办法,sym,double ,vpa转换...
  10. python数据分析与展示 嵩天_Python数据分析与展示第2周学习笔记(北理工 嵩天)...