本地运行是对的,但提交就超时,每个测试点都是1.2秒
查看原帖
本地运行是对的,但提交就超时,每个测试点都是1.2秒
853956
caiGouCaiJi楼主2022/10/30 22:53
#include <stdio.h>
#include <string.h>


int isSame(char a,char b){//不区分大小写比较字母,相同返回1,反之返回0
    switch (a-b)
    {
    case -32:
    case 32:
    case 0:return 1;
    default:return 0;
    }
}

int main(){
    char a[11]={0},b[11]={0};
    char ch=0,pre;
    int j,i,L1,L2;
    int count,first;

    scanf("%s",a);
    getchar();
    L1=(int)strlen(a);
    
    
    j=0;count=0;first=0;pre=' ';
    for(i=0;     (ch=getchar())!='\n';      i++ ){//i是当前位置
        

        if (isSame(ch,a[0])&&pre==' '){//当单词第一个字母与待比较单词首字母一样时进入判断
            scanf("%s",b);//读取除了首字母的剩余单词部分
            L2 = (int)strlen(b);//L2为当前单词长度-1

            if(L2+1==L1){//只有长度与待比较单词一样时才判断
                for (j=1;       (j<L1) && (isSame(a[j],b[j-1])) ;     j++){//如果除首字母剩余部分一致则j==L1(首字母已经比较过了)
                    ;
                }

                if (count == 0)
                    first = i;
                if(j==L1)
                    count++;
            }
            
            i=i+L2;//当前位置i跳到当前单词末尾
            
        }
        pre=ch;
        
    }
    if(count==0)
        printf("-1");
    else
        printf("%d %d",count,first);
    return 0;
}
2022/10/30 22:53
加载中...