HDU 1022
2023-03-14 10:18:31 时间
Train Problem I
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10829 Accepted Submission(s): 3924
Problem Description
As the new term comes, the Ignatius Train Station is very busy nowadays. A lot of student want to get back to school by train(because the trains in the Ignatius Train Station is the fastest all over the world ^v^). But here comes a problem, there is only one
railway where all the trains stop. So all the trains come in from one side and get out from the other side. For this problem, if train A gets into the railway first, and then train B gets into the railway before train A leaves, train A can't leave until train
B leaves. The pictures below figure out the problem. Now the problem for you is, there are at most 9 trains in the station, all the trains has an ID(numbered from 1 to n), the trains get into the railway in an order O1, your task is to determine whether the
trains can get out in an order O2.
Input
The input contains several test cases. Each test case consists of an integer, the number of trains, and two strings, the order of the trains come in:O1, and the order of the trains leave:O2. The input is terminated by the end of file. More details in the Sample
Input.
Output
The output contains a string "No." if you can't exchange O2 to O1, or you should output a line contains "Yes.", and then output your way in exchanging the order(you should output "in" for a train getting into the railway, and "out" for a train getting out of
the railway). Print a line contains "FINISH" after each test case. More details in the Sample Output.
Sample Input
3 123 321
3 123 312
Sample Output
Yes.
in
in
in
out
out
out
FINISH
No.
FINISH
For the first Sample Input, we let train 1 get in, then train 2 and train 3.
So now train 3 is at the top of the railway, so train 3 can leave first, then train 2 and train 1.
In the second Sample input, we should let train 3 leave first, so we have to let train 1 get in, then train 2 and train 3.
Now we can let train 3 leave.
But after that we can't let train 1 leave before train 2, because train 2 is at the top of the railway at the moment.
So we output "No.".
Hint
Hint#include<stdio.h> #include<iostream> #include<stack> using namespace std; int c[10]; char a[10],b[10]; int main() { int n; stack<char>S; while(scanf("%d",&n)!=EOF) { int k=0,j=0,i; scanf("%s",a); scanf("%s",b); for(i=0; i<n; i++) { S.push(a[i]); c[k]=1; k++; while(j<n&&!S.empty()) { if(S.top()==b[j]) { S.pop(); c[k]=0; j++; k++; } else break; } } if(S.empty()) { printf("Yes.\n"); for(i=0; i<k; i++) { if(c[i]==0) printf("out\n"); else if(c[i]==1) printf("in\n"); } } else printf("No.\n"); printf("FINISH\n"); while(!S.empty()) S.pop(); } return 0; }
相关文章
- 糟糕,我写的Bug要被封印在北极1000年!
- 代码优化实战:我又优化了一百个 if else
- 2020好用的Linux网络监控工具
- 如何清除APT缓存来回收宝贵的磁盘空间
- 我撸了一个划线翻译工具!
- 中国博士开发可交互全球疫情地图,登上柳叶刀,GitHub已有4500星
- 抢不到回家的票,还真不是12306技术不行
- 实时移动通信中基于时空域联合约束的低照度视频增强技术研究
- >JavaScript中获取和修改元素属性的值
- 1 月份 NFT 行业报告
- >JavaScript中几个操作元素对象的函数方法
- django使用uwsgi方式运行
- 高并发系统设计之负载均衡
- 【ES三周年】2h10min就进行一次莫名选主异常
- 横空出世!IDEA 版 API 接口神器来了,一键生成文档!
- ChilloutMix 腾讯云服务器快速部署
- 项目开发软件架构选择指南
- excel表格安装包下载完整版教程
- 电脑怎么装免费excel,电脑没有excel怎么安装
- Rails 7 中引入 Bootstrap 5