Pagini recente » Cod sursa (job #31025) | Cod sursa (job #1358817) | Cod sursa (job #2441899) | Cod sursa (job #1136385) | Cod sursa (job #2636286)
#include <bits/stdc++.h>
using namespace std;
ifstream f("abc2.in");
ofstream g("abc2.out");
const int Mod = 666013;
int fr[Mod+5];
int main()
{
string s,a;
getline(f,s);
int n=0;
while(getline(f,a))
{
n=a.size();
int hes=0;
for(auto it : a)
{
hes=(hes*27+it-'a')%Mod;
}
fr[hes]++;
}
int hes=0,nr=0,put=1;
for(int i=0;i<n;i++)
{
hes=(hes*27+s[i]-'a')%Mod;
if(i>0)
{
put=(put*27)%Mod;
}
}
if(fr[hes])
{
++nr;
}
for(int i=n;i<s.size();i++)
{
hes=(1LL*((hes-1LL*put*(s[i-n]-'a')+Mod)%Mod)*27+s[i]-'a')%Mod;
if(fr[hes])
{
++nr;
}
}
g<<nr<<'\n';
return 0;
}