HDU 1022[Train Problem I] 栈的应用
题目链接: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] 栈的应用相关推荐
- hdu 1022 Train Problem I(栈)
标记现在已经匹配到o1的第几列车了,o2从头开始,如果不匹配把o1就放入栈中,匹配后出栈并比较栈顶与o1的下一辆,匹配继续出,不匹配就继续进栈 1 #include <iostream> ...
- hdu 1022 Train Problem I 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022 其实是一道上数据结构课讲过的例题 只不过当时讲的是怎么用手算 一道水题又花了好长时间 其实就 ...
- HDU 1022 Train Problem I stack 基础题
题意: 有一个火车站,只有一个口同时用于进入和出去,但不能有2辆或以上同时进出. 给出一个n代表有n辆火车(n<=9),编号分别为1到n. 然后给出2个序列,分别代表火车进站的顺序,火车出站的顺 ...
- train problem I (栈水题)
杭电1002http://acm.hdu.edu.cn/showproblem.php?pid=1022 Train Problem I Time Limit: 2000/1000 MS (Java/ ...
- 【HDOJ】1022 Train Problem I_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1022 [报告] 模拟,直接模拟一个栈的运行就行了. [程序] // Task: 1022 Train P ...
- hdu 1023 Train Problem II
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1212 Train Problem II Description As we all know the ...
- 【ACM】杭电1022:Train Problem I
分析: 明显是一个栈的问题.利用栈后进先出的特点模拟火车进站出站的过程即可轻松解决. 我的思路是: 用2个字符数组保存火车车厢的序列.首先比较出站后(记为s2)数组和出站前 (记为s1)数组的第一个元 ...
- NYOJ 150 Train Problem I STL栈
Train Problem I 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 As the new term comes, the Ignatius Train Sta ...
- Train Problem I(火车进站问题)hdu1022
问题 Train Problem I - http://acm.hdu.edu.cn/showproblem.php?pid=1022 分析 堆栈的核心逻辑就是"先进后出" 或 & ...
最新文章
- python课程是学什么的-Python课程包括哪些内容?
- 迁移学习与微调的区别
- 5g应用场景_5G新媒体场景应用解决方案(ppt)
- 解决python连接mysql,UTF-8乱码问题
- 标自然段的序号格式_你可能还不会基本的公文格式
- kubernetes(k8s)-介绍2
- 谷歌 Provisional headers are shown 和360急速模式 网络连接错误
- 御剑江湖一键端mysql_御剑江湖一键端漏洞,可导致数据库被任意修改
- NATAPP内网穿透
- Javascript MS题蓄力:
- funny_upload
- gta5 android ps4,gta5导演模式怎么玩好玩_gta5怎么进入导演模式怎么玩ps4导演模式怎么打开_攻略...
- jquery版选项卡
- python中的for语句涉及的序列可以是( )-Python for循环语句
- 斐讯的服务器不稳定,K1不稳定的原因找到了!原因是CPU时钟频率太高,要降频!...
- 实现Python爬虫的思路、原理
- 2019 计蒜之道 复赛 “星云系统” 贪心
- 前端利用Canvas+Video合并流实现截屏和录屏功能
- JAVA 80行代码 写一个 万年历
- iOS内购In-App Purchase