自己的
#include<bits/stdc++.h>
using namespace std;
int main()
{
string tmp; getline(cin,tmp);
stringstream ssin(tmp);
string s,x,y;
getline(ssin,s,',') ;
getline(ssin,x,',') ;
getline(ssin,y) ;
int r=-1;
for(int i=0;i<=s.size()-x.size();i++)//用i指向s寻找的头
{
int t=0;
for(;t<=x.size();)//t指向往后走了几位
{
//printf("i=%d,t=%d,i+t=%d\n",i,t,i+t);
//printf("s[i+t]=%c,x[t]=%c\n",s[i+t],x[t]);
if(s[i+t]==x[t]) t++;
else break;
}
if(t==x.size()) //t指向子串后一位
{
r=i+t; //cout<<r<<endl;
break;
}
}
int l=-1;
for(int j=s.size()-1;j>=0;j--)//用i指向s寻找的头
{
int m=0;
for(;m<y.size(); )//t指向往后走了几位
{
if(s[j+m]==y[m]) m++;
else break;
}
if(m==y.size()) //t指向子串后一位
{
l=j-1; //cout<<l<<endl;
break;
}
}
if(l!=-1 && r!=-1 &&(l-r>=0 || r-l==1)) cout<<l-r+1<<endl;
else cout<<"-1";
// cout<<(l-r>=0)<<"!!";
// printf("\nr=%d,l=%d\n",r,l);
return 0;
}