信奥赛一本通1400统计单词数测试点是更新了吗?提交上去总有几个测试点会有问题


#include <iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
    char s1[1000];
    char s2[1000000];
//    gets(s1);
//    gets(s2);
     fgets(s1,1000,stdin);
     fgets(s2,1000000,stdin);
    int len1,len2,i,j,ans=0,d;
    len1=strlen(s1);
    len2=strlen(s2);
    for(i=0;i<len2;i++)
    {
        for(j=0;j<len1;j++)
        {
            if(toupper(s2[i+j])!=toupper(s1[j]))
                break;
            if(i>0&&s2[i-1]!=' ')
                break;
        }
        if(j==len1&&(s2[i+j]==' '||i+j==len2))
        {
            ans++;
            if(ans==1)
                d=i;
        }

    }
    if(ans)
    printf("%d %d",ans,d);
    else
        printf("-1");
    return 0;
}

以上代码,是我在网络上找到的,就把输入那里改了一下。之前发现一本通已经不能用gets输入字符串了,就换了scanf("%[^\n]",s1);或者是fgets(s1,1000,stdin);这两种方式,但是这段代码提交上去只正确了两个测试点,是为什么呢?

img

img