Pagini recente » Cod sursa (job #2896083) | Cod sursa (job #355350) | Cod sursa (job #88413) | Cod sursa (job #1879451) | Cod sursa (job #1314384)
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream f("abc2.in");
ofstream g("abc2.out");
int l,lcuv,i,j,k,rez;
long long hashish;
long long a[50003];
char sir[10000005];
char aux[21];
int main()
{
f.getline(sir,10000005);
l=strlen(sir);
while(f.getline(aux,21))
{
lcuv=strlen(aux);
hashish=0;
for(i=0;i<lcuv;++i)
{
hashish=aux[i]-'a'+1;
if(i!=lcuv-1) hashish*=3;
}
++k;
a[k]=hashish;
}
sort(a+1,a+1+k);
for(i=0;i<l-lcuv+1;++i)
{
hashish=0;
for(j=i;j<=i+lcuv-1;++j)
{
hashish=aux[i]-'a'+1;
if(j!=i+lcuv-1) hashish*=3;
if(binary_search(a+1,a+1+k,hashish)) ++rez;
}
}
g<<rez<<'\n';
return 0;
}