Pagini recente » Cod sursa (job #1374748) | Cod sursa (job #1963446) | Cod sursa (job #935139) | Cod sursa (job #1091789) | Cod sursa (job #498055)
Cod sursa(job #498055)
#include <stdio.h>
#include <string.h>
int H[10000000],key,sol,nr,m,n,i,pow;
char s[25],string[10000010];
int main()
{
freopen("abc2.in","r",stdin);
freopen("abc2.out","w",stdout);
fgets(string,10000010,stdin);
n=strlen(string)-1;
if(string[n]=='\n') n--;
fgets(s,25,stdin);
m=strlen(s)-1;
if(s[m]=='\n') m--;
while(!feof(stdin))
{
fgets(s,25,stdin);
if(!feof(stdin))
{
key=0;
for(i=0;i<=m;i++)
key=key*3+s[i]-'a';
H[key]=1;
}
}
pow=1;
for(i=1;i<=m;i++)
pow*=3;
sol=0;
for(i=0;i<=m;i++)
key=key*3+string[i]-'a';
if(H[key]) sol++;
for(i=m+1;i<=n;i++)
{
key=(key-(string[i]-'a')*pow)*3+string[i]-'a';
if(H[key]) sol++;
}
printf("%d\n",sol);
return 0;
}