60分求助
查看原帖
60分求助
999658
talkwithcpp楼主2024/8/1 18:42
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
string s;
char k[1000010];
int _f=-1,sum; 
bool pd(int l);
int main()
{
	cin>>s;
	getchar();
	scanf("%[^\n]",k);
	
	for(int i=0;i<s.size();++i)
	if('A' <= s[i] && s[i] <= 'Z')
		s[i]+=32;
	
	int len=strlen(k);
	for(int i=0;i<len;++i)
	if('A' <= k[i] && k[i] <='Z')
		k[i]+=32;
	
	int a=0;
	
	for(int l=0;l<len;++l)
	{
		if(k[l]==s[0] && (l==0 || k[l-1]==' ') && (k[l+s.size()]==' ' || k[l+s.size()==0]))
		{
			a++;
			if(pd(l))
			{
				sum++;
				if(_f==-1) _f=l;
			}
		}
	}
	if(sum)
	{
		cout<<sum<<" "<<_f;
	}
	else cout<<"-1";
	
	return 0;
}

bool pd(int l)
{
	for(int i=l,r=0;i<l+s.size();++i,++r)
	{
		if(k[i]!=s[r]) return 0;
	}
	return 1;
}
2024/8/1 18:42
加载中...