TLE求教
查看原帖
TLE求教
1061050
jiangyunuo楼主2024/12/7 16:32
#include<bits/stdc++.h>  
using namespace std;
char ch[15],sh[1000005];
bool pd(int a){
    for(int i=a;i<a+strlen(ch);i++){
        if(ch[i-a]!=sh[i])return 0;
    }
    return 1;
}
int main(){
	//freopen("P1308_8.in","r",stdin);
	//freopen("P1308_8.out","w",stdout);
    int sum=-1,ans=0;
    cin.getline(ch,15);
    cin.getline(sh,1000005);
    for(int i=0;i<strlen(ch);i++){
        if(ch[i]<97)ch[i]+=32;
    }
    for(int i=0;i<strlen(sh);i++){
        if(sh[i]<97&&sh[i]!=' ')sh[i]+=32;
    }
    for(int i=0;i<strlen(sh);i++){
        if(sh[i]!=' '&&(sh[i-1]==' '||!i)&&sh[i+strlen(ch)]==' '&&sh[i]==ch[0]){                          
			if(pd(i)){
		    	ans++;
		    	if(sum==-1)sum=i;
			}
			i+=strlen(ch);
		}
    }
    if(ans)cout<<ans<<" "<<sum;
    else cout<<-1;
    return 0;
}
2024/12/7 16:32
加载中...