@[Drewjin](/user/994007)
没必要这么长吧,我也没找出错,自己理解一下吧。
# AC代码
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a,b;
int o,m=0,l=0,k;
getline(cin,a);//输入一整行
getline(cin,b);//同上
for(int i=0;a[i]!='\0';i++)//这是本蒟蒻之前的代码,计算字符串长度,可以直接a.size();
{
l++;
}
l--;//长度--
for(int i=0;b[i]!='\0';i++)
{
if(a[m]==b[i]||a[m]==b[i]-32||a[m]==b[i]+32)//特判,如果它们字母一致,但大小写不同,也要计入
{
if(m==0)
{
if(i-1<0||b[i-1]==' ')//特判
m++;//计算目前有几个字符相同
}
else
{
m++;
}
}
else
{
m=0;//否则归零
}
if(m==l+1&&b[i+1]==' '||m==l+1&&b[i+1]=='\0')
{
if(o==0)
{
k=i;//记录最先发现的相同字符位置
}
o++;//数量++
m=0;
}
}
if(o==0)//特判
{
cout<<-1;
}
else
{
cout<<o<<" "<<k-l;
}
return 0;
}
```
by oier04 @ 2023-08-28 00:09:06
@[Drewjin](/user/994007) 求关注QAQ
by oier04 @ 2023-08-28 00:10:17
@[oier04](/user/747109) 其实我真觉得我思路是对的,计算空格数量和之前的名字长度之和来得到位置,完全没问题,但是有点太绕了,就很难发现中间有什么bug
你的思路就很直接,比我好多了
by Drewjin @ 2023-08-28 21:09:49
@[Drewjin](/user/994007) 我也不太清楚
by oier04 @ 2023-08-28 21:15:13