最强大脑 奇虎360 2017校园招聘笔试题
题目:最强大脑
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:
小B乘火车和朋友们一起在N市到M市之间旅行。她在路途中时睡时醒。当她醒来观看窗外的风景时,注意到每个火车站都有一种特别颜色的旗帜,但是她看到的旗帜仅仅是经过的一小部分。小B在乘车过程中有两次清醒的时间,她到达旅程终点时处于睡梦中。出站时,她和朋友们谈论着一路的见闻,朋友们觉得很有意思。
他们把N到和M之间经过车站的旗帜颜色依次列出来,然后告诉你小B记得的旗帜颜色序列,让你判断小B究竟是从N和M之间哪些方向才能看到所说颜色的旗帜,还是根本就不可能看到?颜色用字母代表,相同的字母代表相同的颜色,不同的字母则表示不同的颜色。
输入
输入中有多组测试数据。每组测试数据包含三行,第一行为一个由小写拉丁字母构成的非空字符串,长度不超过10^5,表示N到M之间车站的颜色。火车从M向N运行时,经过的车站相同,只是方向相反。第二行为小B在第一次睡醒时看到的颜色序列,第三行为小B在第二次睡醒时看到的颜色序列。两个序列都是小写的拉丁字母构成的字符串,长度不超过100个字母。每个序列的颜色顺序排列按小B看到的时间顺序排列。
输出
对每组测试数据,在单独的行中输出小B的旅行方向。
forward – 由N到M方向;
backward – 由M到N方向;
both – 两种方向都有可能;
invalid – 不可能看到这样的颜色序列;
样例输入
atob
a
b
aaacaaa
aca
aa
样例输出
forward
both
Hint
火车假定时刻处于运动状态,不会两次看到同一个旗帜。N市和M市的车站没有旗帜
我的实现如下:
// trainDirectionn.cpp : 定义控制台应用程序的入口点。
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
int main()
{string str,str1,str2;bool flag1=false,flag2=false;unsigned int index=0;cin>>str>>str1>>str2;if(!str.empty()){//forwardif(!str1.empty()&&str.find(str1)!=string::npos) //子串1非空且能在母串中找到{index=str.find(str1)+str1.length(); //找到母串中子串2的开始查找位置flag1=(!str2.empty()&&str.find(str2,index)!=string::npos)?true:false;}reverse(str.begin(),str.end()); //反转母串//backwardif(!str1.empty()&&str.find(str1)!=string::npos){index=str.find(str1)+str1.length();flag2=(!str2.empty()&&str.find(str2,index)!=string::npos)?true:false;}<span style="white-space:pre"> </span>/*输出*/if(flag1&&flag2)cout<<"both"<<endl;else if(flag1)cout<<"forward"<<endl;else if(flag2)cout<<"backward"<<endl;elsecout<<"invalid"<<endl;}return 0;
}
最强大脑 奇虎360 2017校园招聘笔试题相关推荐
- 奇虎360 2013校园招聘笔试题
转载自 http://blog.csdn.net/wanglongfei_hust/article/details/10041337 我的答案与解析: 1. D 2. C 3. B 4. A ...
- 360 2013校园招聘笔试题(含参考答案)
360 2013校园招聘笔试题(含参考答案) 参考答案: 1.D 5*5*5=125 2.C 排除法 3.A 仅个人意见 4.A 5.D ABC三语句一定保留,D不确定,EF一定删除 6.不 ...
- 奇虎360 2014校园招聘面试
面试时间:2013-10-29 下午4:45 到 晚上7点半 面试地点:360大厦,酒仙桥路6号院2号楼 面试职位:服务器端研发工程师 面试形式:一对一,聊天+写代码 面试题目: 1.C和C++ ● ...
- 奇虎360 2015校园招聘笔试编程题
题目一: 写一个函数,根据两文件的绝对路径算出相对路径. 如a="/qihoo/app/a/b/c/d/new.c",b="/qihoo/app/1/2/test.c&q ...
- 爱奇艺2017校园招聘笔试题
成长值计算 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制:C/C++语言 65536KB:其他语言 589824KB 题目描述: 爱奇艺累计有2000万会员,为了提高会员权 ...
- 网易2017校园招聘笔试题 优雅的点
小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方.小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他. 例如:半径的平方如果为25 优雅的 ...
- 网易2017校园招聘笔试题 跳石板
小易来到了一条石板路前,每块石板上从1挨着编号为:1.2.3--. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X ...
- 去哪儿2017校园招聘笔试题
import java.util.Scanner;/*** filename extension* 时间限制:C/C++语言 1000MS:其他语言 3000MS* 内存限制:C/C++语言 6553 ...
- 去哪儿2017校园招聘笔试题——获得文件扩展名filename extension
1. 题目 Please create a function to extract the filename extension from the given path,return the extr ...
最新文章
- ping命令工具:同时ping多个IP
- 利用微软Atlas消费外部Web服务
- 【Java源码分析】Vector源码分析
- 【jquery模仿net控件】初步GridView模型实现,及其简单应用
- linux 下实现负载均衡群集(NAT方式)
- 【操作系统复习】进程控制
- 从两个模型带你了解DAOS 分布式异步对象存储
- 4.Java 面试题整理(JSP 篇)
- Dubbo 生态添新兵,Dubbo Admin 发布 v0.1
- 【树】Unique Binary Search Trees II
- MATLAB显示中文乱码问题 MATLAB2016
- java网吧系统_基于Java的智能网吧管理系统.doc
- 10个谷歌浏览器调试技巧
- 一文搞懂机器学习中的缺失值处理(超详细)
- Compose系列 五 副作用 side-effect
- 金属类的大宗商品创下新高,对冲基金疯狂买涨
- Python第五周作业之选择题
- 微型机器学习,会是下一代AI革命吗?
- 自制Unity文件查找器,支持拼音搜索
- 彻底关闭win10更新自动更新 卸载win10自带杀毒软件 新增联想软件 lenovo quick fix