有没有大佬能帮忙优化一下,TLE过不了
查看原帖
有没有大佬能帮忙优化一下,TLE过不了
1218327
hhwshh楼主2023/12/18 11:44
#include <stdio.h>
#include <string.h>
int main()
{
    int w=0, i, j, k=0, mark, start, begin, end, flag, count=0;
    char word[10], s[1000000], c;
    scanf("%s", word);
    c = getchar();//消除换行符
    while((c = getchar()) != EOF)
    {
        if(c == '\n') break;
        s[k++] = c;
    }
    s[k]='\0';
    for(i=0; i<strlen(word); i++)
        if(word[i]>='A'&&word[i]<='Z')
            word[i]+=32;
    for(i=0; i<strlen(s)+1; i++)
    {
        if(s[i]>='A'&&s[i]<='Z')
            s[i]+=32;
        flag=0;
        if(s[i]!=' '&&s[i]!='\0')
        {
            if(w==0) start=i;
            w=1;
        }
        else
        {
            if(w==1)
            {
                end=i-1;
                flag=1;
            }
            w=0;
        }
        if(flag)
        {
            mark=1;
            for(j=start, k=0; j<=end; j++)
                if(word[k++]!=s[j])
                {
                    mark=0;
                    break;
                }
            if(mark&&k==strlen(word))
            {
                count++;
                if(count==1)
                    begin=start;
            }
        }
    }
    if(count>0)
        printf("%d %d", count, begin);
    else
        printf("-1");
    return 0;
}
2023/12/18 11:44
加载中...