AcWing 778. 字符串最大跨距
原题链接
困难
作者:
小张同学
,
2020-03-07 11:13:06
,
所有人可见
,
阅读 703
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string str, a, b;
string line;
cin >> line;
int k = 0;
while(line[k] != ',') str += line[k ++ ];
k ++ ;
while(line[k] != ',') a += line[k ++ ];
k ++ ;
while(k < line.size()) b += line[k ++ ];
int l = 0, r = 0;
for (int i = 0; i < str.size(); i ++ ) // 找前面第一个符合的
{
if (str.substr(i, a.size()) == a )
{
l = i + a.size();
break;
}
}
for (int i = str.size() - b.size(); i >= 0; i -- ) // 倒着找后面最后一个符合的
{
if (str.substr(i, b.size()) == b)
{
r = i;
break;
}
}
if (l > r || l == 0 || r == 0) cout << "-1" << endl;
else cout << r - l << endl;
return 0;
}