#8#9#10TLE是什么原因呢,代码还有什么地方可以优化吗(不改变基本做法)
查看原帖
#8#9#10TLE是什么原因呢,代码还有什么地方可以优化吗(不改变基本做法)
538564
20101021tay楼主2022/4/9 16:52
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
char a[12], b[1000005],buf[32];
int main()
{
    int i = 0, num = 0, flag = 0;
    int chu, tep = 0;
    gets(a);
    gets(b);
    b[strlen(b)] = '\0';
    for(int j = 0; j < strlen(a); j++)
    {
        a[j] = tolower(a[j]);
    }
    for(int j = 0; j < strlen(b); j++)
    {
        b[j] = tolower(b[j]);
    }
    int j = 0, k = 0;
    while(b[j] != '\0')
    {
        i = 0;
        while(b[j] != ' ' && b[j] != '\0')
        {
            buf[i] = b[j];
            i++;
            j++;
        }
        if(strcmp(a,buf) == 0)
        {
            num++;
            if(flag == 0)
            {
                chu = tep;
            }
            flag = 1;
        }
        tep += strlen(buf);
        tep++;
        k++;
        j++;
        memset(buf,'\0',sizeof(buf));
    }
    if(flag == 0) printf("-1\n");
    else printf("%d %d\n",num,chu);
    return 0;
}
2022/4/9 16:52
加载中...