为什么我的老是时间超限,内存却用的很少
http://www.这个题目做下来用时1002ms,内存20多k,看别人的居然是时间20多ms,内存1600多k,谁能帮忙看看是什么地方出问题了。
#include<stdio.h>
#include<string.h>
int main()
{
char da[1000000],xiao[10000];
int i,j,k,ci,xiaode,dade,ge;
scanf("%d",&ge);
while(ge--)
{
scanf("%s%s",xiao,da);
k=0;ci=0;
xiaode=strlen(xiao);
dade=strlen(da);
for(i=0;i<xiaode/2;)
{
if(xiao[i]==xiao[xiaode-1])
{
if(xiao[i+1]==xiao[i])
{i++;xiaode--;}
else i++;
}
else break;
}
xiaode=strlen(xiao);
for(j=0;j<dade;)
{
if(da[j]==xiao[k])
{j++;k++;}
else if(k>=xiaode)
{j=j-i;k=0;ci++;}
else if(j+xiaode>dade) break;
else k=0;
}
if(j>=dade&&k>=xiaode)
ci=ci+1;
printf("%d\n",ci);
}
return 0;
}