Pagini recente » Cod sursa (job #3309051) | Cod sursa (job #2723277) | Cod sursa (job #3317923) | Cod sursa (job #3352156) | Cod sursa (job #3338444)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("abc2.in");
ofstream fout("abc2.out");
long long n,i,j,x,op,h1,h2,p=1,sol;
string a,b;
unordered_map<long long ,int> fr;
int main()
{ fin>>a;
fin>>b;
n=b.size();
for(i=0;i<n;i++)
{h1=h1*5+a[i]-'a'+1;
if(i!=0) p*=5;
}
fr[h1]++;
for(i=n;i<a.size();i++)
{h1=h1-p*(a[i-n]-'a'+1);
h1*=5;
h1+=a[i]-'a'+1;
fr[h1]++;
}
for(i=0;i<b.size();i++)
h2=h2*5+b[i]-'a'+1;
sol+=fr[h2];
fr[h2]=0;
while(fin>>b)
{h2=0;
for(i=0;i<b.size();i++)
h2=h2*5+b[i]-'a'+1;
sol+=fr[h2];
fr[h2]=0;
}
fout<<sol;
return 0;
}