HDU 1022 之 Train Problem I
Train Problem I
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 21736    Accepted Submission(s): 8232
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 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 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.
3 123 312
in
in
in
out
out
out
FINISH
No.
FINISH
Hint
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.".
#include <iostream>
#include <cstdio>
#include <math.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <stack> using namespace std; int main()
{
int n;
int i, j, k;
char s[1000], t[1000];
char dd, ff; char map[1000][5]; int e=0; while(scanf("%d", &n)!=EOF)
{
stack<char>q;
stack<char>p; memset(map, '\0', sizeof(map)); scanf("%s", s);
scanf("%s", t); for(j=n-1; j>=0; j--)
{
p.push(t[j]);
} e=0; for(i=0; i<n; i++)
{
q.push(s[i]);
//cout<<s[i]<<"*"<<endl;
strcat(map[e++], "in"); dd=q.top(); ff=p.top();
while( dd==ff && !q.empty() && !p.empty() )
{
strcpy(map[e++], "out");
q.pop();
if(!q.empty()) dd=q.top();
p.pop();
if(!p.empty()) ff=p.top();
}
}
if(q.empty() && p.empty() )
{
cout<<"Yes.\n";
for(k=0; k<e; k++)
{
cout<<map[k]<<endl;
}
}
else
{
cout<<"No.\n";
}
cout<<"FINISH\n";
}
return 0;
}
HDU 1022 之 Train Problem I的更多相关文章
- HDU——1023 Train Problem II
		Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- HDU 1022 Train Problem I
		A - Train Problem I Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ... 
- HDU 1022 Train Problem I(栈的操作规则)
		传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1022 Train Problem I Time Limit: 2000/1000 MS (Java/Ot ... 
- hdu 1022 Train Problem I【模拟出入栈】
		Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ... 
- Hdu 1022 Train Problem I 栈
		Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- HDU  1022.Train Problem I【栈的应用】【8月19】
		Train Problem I Problem Description As the new term comes, the Ignatius Train Station is very busy n ... 
- HDU - 1022 Train Problem I   STL 压栈
		Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- hdu 1022 Train Problem I(栈的应用+STL)
		Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ... 
- hdu 1022:Train Problem I(数据结构,栈,递归,dfs)
		Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ... 
随机推荐
- JS设置页面中方法执行一次的思想
			思想:在JS中定义一全局变量,在方法执行的时候根据全局变量的值判断是否需要执行,在方法中修改全局变量的值,可以使得方法只执行一次.: 例如: 定义全局变量: var isLoad = false;// ... 
- nosql整理
			Nosql: Redis,Memcache,MongoDB,Hbase,Couchbase LevelDB https://www.cnblogs.com/lina520/p/7919551.htm ... 
- NGUI中以添加摄像机的方式实现SCROLL LIST
			1.添加多一个UI ROOT对象 2.把CAMERAER对象移至ROOT对象成为其直接子对象, 3.为CAMERAER对象添加UIVIEWPORT组件,并把其SOURCE CAMERA设置为主相机,设 ... 
- 接口自动化测试之HTTP协议详解
			协议 简单理解,计算机与计算机之间的通讯语言就叫做协议,不同的计算机之间只有使用相同的协议才能通信.所以网络协议就是为计算机网络中进行数据交换而建立的规则,标准或约定的集合. OSI模型 1978年国 ... 
- BZOJ——2096: [Poi2010]Pilots
			http://www.lydsy.com/JudgeOnline/problem.php?id=2096 Time Limit: 30 Sec Memory Limit: 162 MBSubmit: ... 
- [Bzoj3676][Apio2014]回文串(后缀自动机)(parent树)(倍增)
			3676: [Apio2014]回文串 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 3396 Solved: 1568[Submit][Statu ... 
- foobar2000播放APE格式音乐的解决办法
			要使foobar2000能播放APE格式的音乐需要安装Monkey's Audio Decoder的插件.操作如下: 1.登录官方插件列表,找到Monkey's Audio Decoder插件 官方插 ... 
- 实时获取键盘高度     CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
			注意:要想实时获取键盘的高度,比如当前如果是中文那么就会增高的.那么需要使用 UIKeyboardFrameEndUserInfoKey 而不是 UIKeyboardFrameBeginUserIn ... 
- flask如何处理并发
			1.使用自身服务器的多进程或者多线程,参考werkzeug的run_simple函数的入参.注意,进程和线程不能同时开启 2.使用gunicorn使用多进程,-w worker 进程数,类型于运行多个 ... 
- 王立平--Gallery:实现图片的左右滑动
			<span style="font-size:18px;color:#330033;">package com.main; import android.app.Act ... 
