前些日子看了一看 string 的用法 没想到水到了这题
find函数如果找不到 返回值为 -1 ?
题意 正向反向顺序查找字串 如果只有正向能找到 输出 forward 如果反向能找到 输出 backwards 如果双向都能找到 输出both 找不到 输出 fantasy
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a,b,c;
string ret;
while(cin>>a>>b>>c)
{
ret = "";
for(int i = a.size()-1;i >= 0;i --) ret += a[i];
int fb = a.find(b,0),fc = a.find(c,fb+b.size());
int bb = ret.find(b,0),bc = ret.find(c,bb+b.size());
// cout<<fb<<" "<<fc<<" "<<bb<<" "<<bc<<endl;
if((fb == -1 || fc == -1) && (bb == -1 || bc == -1))
cout<<"fantasy"<<endl;
else if(fb != -1 && fc != -1 && bb != -1 && bc != -1)
cout<<"both"<<endl;
else if(fb != -1 && fc != -1 && (bb == -1 || bc == -1))
cout<<"forward"<<endl;
else
cout<<"backward"<<endl;
}
return 0;
}