6到10全TLE了……求教
查看原帖
6到10全TLE了……求教
1045375
muenyz楼主2023/8/5 22:05

为什么呢?

#include <iostream>

using namespace std;

const int lmax = 1e6;

int tj_strlen(const char *str)
{
    int i = 0;
    if (str == NULL)
        return 0;
    while (*str++ != 0)
        i++;
    return i;
}

char *tj_strlwr(char *str)
{
    if (str == NULL)
        return NULL;
    char *i = str;
    for (; i - str < tj_strlen(str); i++)
        if (*i >= 'A' && *i <= 'Z')
            *i += 32;

    return str;
}

int main()
{
    char str[lmax + 2] = {0}, str0[11] = {0};
    cin.getline(str0, 11);
    tj_strlwr(str0);
    cin.getline(str, lmax+1);
    tj_strlwr(str);
    int i = 0,loc=0,cnt=0,len=tj_strlen(str0);
    for (i = 0; str[i];i++){
        if(str[i]==' ')
            continue;
        if(i==0||str[i-1]==' ')
        {
            for (int j = 0; str0[j++] == str[i++];)
            {
                if (j == len && (str[i] == ' ' || !str[i]) && !cnt++)
                    loc = i - len;
            }
            --i;
        }
    }
        if (cnt)
            cout << cnt << ' ' << loc << endl;
        else
            cout << -1 << endl;
        return 0;
}
2023/8/5 22:05
加载中...