后三个点都超时了,求解决方法
查看原帖
后三个点都超时了,求解决方法
537899
sajdfklsdfadfdakgjd楼主2021/8/1 22:30
#include <stdio.h>
#include<string.h>
int main()
{
    char a[15],b[1000009];
    gets(a);gets(b);
    int sum=0,set=10000000;
    for(int i=0;i<strlen(b)-strlen(a);i++){
        if(b[i]==a[0]||b[i]==a[0]+'A'-'a'||b[i]==a[0]+'a'-'A'){
            int isif=1;
            for(int j=i;j<i+strlen(a);j++){
                if(b[j]!=a[j-i]&&b[j]!=a[j-i]+'A'-'a'&&b[j]!=a[j-i]+'a'-'A'){
                    isif=0;
                    break;
                }
            }
            if(i==0){
                if (isif&&b[strlen(a)]==' '){
                    sum+=1;
                    set=0;
                }
            }else{
                if(isif&&b[i-1]==' '&&b[i+strlen(a)]==' '){
                    sum+=1;
                    if(set>i)
                        set=i;
                }
            }
        }
    }
    if(sum==0)
        printf("-1");
    else
        printf("%d %d",sum,set);
}
2021/8/1 22:30
加载中...