首页 > 其他分享 >hdu:火车进站问题(stl应用)

hdu:火车进站问题(stl应用)

时间:2022-12-26 20:12:06浏览次数:32  
标签:hdu 火车 stl 进站 样例 int include out

Problem Description
假设杭州东火车站只有一条铁路,并且所有火车都从一侧进来,从另一侧出去。那么,如果火车A先进站,然后火车B在火车A离开之前就进站,那么火车A直到火车B离开后才能离开,可参见下图。

现在,假设车站中有n(n<=9)列火车,所有火车都有一个ID(从1到n的编号),火车以O1的顺序进站,您的任务是确定火车是否可以按O2顺序出站。

Input
输入包含几个测试用例。

每个测试用例均包含三部分:一个表示火车数量的整数和两个字符串O1和O2,其中,火车的进站顺序用O1串表示,火车的出站顺序用O2串表示。

输入在文件末尾终止,更多信息参见样例。

Output
如果不能从O1的入站顺序得到O2的出站顺序,请输出字符串“ No.”。

如果能够得到,则请输出”Yes.”
然后输出进站和出站的具体方式(“in”表示火车进站,“out”表示火车出站)。
在每个测试用例之后输出一行“ FINISH”。

更多信息参见样例。


输入样例

3 123 321
3 123 312

输出样例

Yes.
in
in
in
out
out
out
FINISH
No.
FINISH
附带ac代码
#include<iostream>
#include<stack>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
    int n;
    string s1,s2;
    stack<int> s;
    vector<string> v;
    int flag;
    while(cin>>n)
    {
        cin>>s1>>s2;
        flag=0;
        while(!s.empty()) s.pop();
        v.clear();
        for(int i=0;i<n;++i)
        {
            s.push(s1[i]-'0');
            v.push_back("in");
            //cout<<s.top()<<"和"<<(s2[flag++]-'0')<<endl;
            while(!s.empty()&&s.top()==(s2[flag]-'0'))
            {
                flag++;
                v.push_back("out");
                s.pop();
            }
        }
        if(s.empty())
        {
            cout<<"Yes."<<endl;
            for(int i=0;i<v.size();++i)
                cout<<v[i]<<endl;
            cout<<"FINISH"<<endl;
        }
        else
        {
            cout<<"No."<<endl;
            cout<<"FINISH"<<endl;
        }
    }
    return 0;
}

 

 

标签:hdu,火车,stl,进站,样例,int,include,out
From: https://www.cnblogs.com/ruoye123456/p/17006737.html

相关文章

  • STL的常用法
    一.队列和优先队列队列是front,back可以访问队首队尾,优先队列用top访问优先级最高#include<iostream>#include<queue>usingnamespacestd;structst{intx;......
  • STL中map用法详解
    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处......
  • STL string 常用函数
    string类的构造函数:string(constchar*s);//用c字符串s初始化string(intn,charc);//用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string......
  • JNI 里使用STL
    JNI里的c或者c++调用stl的时候,比如引入map头文件:#include<map>在cygwin使用NDK编译的时候,会提示:fatalerror:map:Nosuchfile  解决方法:就是在jni目录下就是......
  • STL库之动态数组vector基本使用方法
    前言:有些时候想开一个数组,但是不知道开多大长度的数组合适,因为我们要用到的数组可能会根据情况变得变动。这时候我们就要用到动态数组。所谓动态数组,也就是不定长数组,数组的......
  • JSTL的练习以及三层架构
    JSTL的练习需求:在request域中有一个村有User对象的List集合,需要使用jstl+el将list集合数据展示到jsp页面的表格table中<%@pageimport="java.util.List"%><%@pagei......
  • STL容器——string
    1.string容器本质:string是C++风格的字符串,但是string本质是一个类,string字符串的第一个字符位置为0。区别string和char*:char*是一个指针。string是一个类,类内有char*,有......
  • STL大全
    排序最速传说——sort我们都学过一些排序的写法,比如冒泡排序,快速排序之类的东西,举个例子来说吧,这是快速排序的代码:#include<iostream>usingnamespacestd;inta[10000......
  • STL大纲
    嗯,因为疫情的原因,博主到现在都没能退役成功,nj让学STL,虽然她也允许学whk,但我总不能恬着脸全学whk吧\(set\).¶\(deque\)显而易见的头文件#include<deque>......
  • JSTL的常用标签choose和foreach
    JSTL的常用标签choosec:choose标签:<%@pagecontentType="text/html;charset=UTF-8"language="java"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/co......