题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022

题目大意:一列序列为s1的车厢是否能通过车站的中转以序列s2出站。白皮上有。

关键思想:栈的应用。如果待入站车厢是s2对应位置上的就进了再出,再看前面是否有符合要求的;否则只进不出。

代码如下:

//栈。知道什么时候应该进出站
#include <iostream>
#include <stack>
using namespace std;
bool ans[10010];//保存进出顺序,true为"in",false为"out"
string in,out;bool judge(int n){stack<int>st;int cnt=0;for(int i=0,j=0;i<n;i++){if(in[i]!=out[j]){//不是要的号码,进去 st.push(in[i]);ans[cnt++]=true;}else {ans[cnt++]=true,ans[cnt++]=false;//是要的号码进去直接出来 while(!st.empty()&&st.top()==out[++j]){//看前面有没有合适的号码 st.pop();ans[cnt++]=false;}if(st.empty())j++;//修复的BUG }}if(cnt==2*n)return true;//每车都经过一进一出 else return false;
}int main(){int n;while(cin>>n>>in>>out){if(judge(n)){cout<<"Yes."<<endl;for(int i=0;i<2*n;i++)cout<<(ans[i]?"in":"out")<<endl;}else cout<<"No."<<endl;cout<<"FINISH"<<endl;}return 0;
}

  

转载于:https://www.cnblogs.com/G-M-WuJieMatrix/p/6407153.html

HDU 1022[Train Problem I] 栈的应用相关推荐

  1. hdu 1022 Train Problem I(栈)

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

  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课程是学什么的-Python课程包括哪些内容?
  2. 迁移学习与微调的区别
  3. 5g应用场景_5G新媒体场景应用解决方案(ppt)
  4. 解决python连接mysql,UTF-8乱码问题
  5. 标自然段的序号格式_你可能还不会基本的公文格式
  6. kubernetes(k8s)-介绍2
  7. 谷歌 Provisional headers are shown 和360急速模式 网络连接错误
  8. 御剑江湖一键端mysql_御剑江湖一键端漏洞,可导致数据库被任意修改
  9. NATAPP内网穿透
  10. Javascript MS题蓄力:
  11. funny_upload
  12. gta5 android ps4,gta5导演模式怎么玩好玩_gta5怎么进入导演模式怎么玩ps4导演模式怎么打开_攻略...
  13. jquery版选项卡
  14. python中的for语句涉及的序列可以是( )-Python for循环语句
  15. 斐讯的服务器不稳定,K1不稳定的原因找到了!原因是CPU时钟频率太高,要降频!...
  16. 实现Python爬虫的思路、原理
  17. 2019 计蒜之道 复赛 “星云系统” 贪心
  18. 前端利用Canvas+Video合并流实现截屏和录屏功能
  19. JAVA 80行代码 写一个 万年历
  20. iOS内购In-App Purchase

热门文章

  1. 《你的灯亮着吗》读书笔记1
  2. 安卓开发之使用viewpager+fragment实现滚动tab页
  3. Android代码实现APK文件的安装与卸载
  4. Ubuntu 关机,重启,注销命令
  5. 802.11 MESH WLANs
  6. 给新手或者中级程序员提的22条重要建议.
  7. FPGA 的I/O BANK介绍
  8. 滤波器的主要特性指标
  9. 批量图片压缩工具:JPGCompact 2.0绿色版
  10. NLP——基于transformer 的翻译系统