40分,求助
查看原帖
40分,求助
379158
YSHK132456789楼主2020/10/8 13:18
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int cnt=0;
	int index=-1;
	//获取输入 
	char a[10];
	gets(a);
	char b[1000000];
	gets(b);
	//字母小写
	int len=0;
	while(a[len]!='\0')
	{
		if('A'<=a[len] && a[len]<='Z')
		{
			a[len]+='a'-'A';
		}
		len++;
	}
	int len2=0;
	bool w[1000000]={};
	while(b[len2]!='\0')
	{
		if('A'<=b[len2] && b[len2]<='Z')
		{
			b[len2]+='a'-'A';
		}
		//找空格 
		if(b[len2]==' ')
		{
			if(b[len2+1]!=' ')
			{
				w[len2]=1;
			}
		}
		len2++;
	}
	
	int f=0;
	for(int i=0;i<len2;i++)
	{
		//逐词提取 
		if(w[i]==1)
		{
			//长度不符 
			if((i-f)!=len)
			{
				f=i+1;
				continue;
			}
			//逐字比较 
			int flag=0;
			int c=0;
			for(int j=f;j<i;j++,c++)
			{
				 if(a[c]!=b[j])
				 {
				 	flag=1;
				 	break;
				 }
			}
			if(flag==1)
			{
				continue;
			}
			else
			{
				cnt++;
				if(index==-1)
				{
					index=f;
				}
			}
		}
	} 
	if(cnt!=0)
	{
		cout<<cnt<<" ";
	}
	cout<<index;
	return 0;
}
2020/10/8 13:18
加载中...