AcWing 778. 字符串最大跨距
原题链接
困难
作者:
学习标兵
,
2021-04-29 16:42:42
,
所有人可见
,
阅读 265
#include<bits/stdc++.h>
using namespace std;
string awa,arr,qwq;
int main()
{
string a;
cin>>a;
int wz=0;
for(int i=0,j=1;i<a.size();i++,j++)
{
if(a[i]==',')
{
wz=i;
break;
}
awa+=a[i];
}
for(int i=wz+1,j=1;i<a.size();i++,j++)
{
if(a[i]==',')
{
wz=i;
break;
}
arr+=a[i];
}
for(int i=wz+1,j=1;i<a.size();i++,j++)
{
qwq+=a[i];
}
int wz1=0;
int wz2=0;
if(awa.find(arr)==-1||awa.find(qwq)==-1)
{
cout<<-1;
return 0;
}
else
{
for(int i=0;i<awa.size();i++)
{
if(awa[i]==arr[0])
{
int flag=1;
for(int j=0;j<arr.size();j++)
{
if(arr[j]!=awa[i+j])
{
flag=0;
}
}
if(flag)
{
wz1=i;
break;
}
}
}
for(int i=0;i<awa.size();i++)
{
if(awa[i]==qwq[0])
{
int flag=1;
for(int j=0;j<qwq.size();j++)
{
if(qwq[j]!=awa[i+j])
{
flag=0;
}
}
if(flag)
{
wz2=i;
}
}
}
if(wz1+arr.size()>=wz2)
{
cout<<-1;
return 0;
}
cout<<wz2-wz1-arr.size();
}
return 0;
}