Pagini recente » Cod sursa (job #651432) | Cod sursa (job #2616879) | Cod sursa (job #701530) | Cod sursa (job #393869) | Cod sursa (job #2296783)
#include<fstream>
#include<string>
#include<vector>
#include<set>
#define MOD 10000007
using namespace std;
ifstream cin("abc2.in");
ofstream cout("abc2.out");
string a,b;
set<long long> Hash[MOD+1];
int n,m,k;
long long ans,code,p;
int main(){
cin>>a;
while(cin>>b){
code=0;
for(int i=0;i<b.size();i++)
code=code*3+(b[i]-'a');
Hash[code%MOD].insert(code);
}
k=b.size(); p=1;
for(int i=1;i<k;i++)
p*=3;
code=0;
for(int i=0;i<k;i++)
code=code*3+(a[i]-'a');
ans+=Hash[code%MOD].count(code);
for(int i=k;i<a.size();i++){
code=(code-(a[i-k]-'a')*p)*3+(a[i]-'a');
ans+=Hash[code%MOD].count(code);
}
cout<<ans;
}