Pagini recente » Cod sursa (job #2463428) | Cod sursa (job #2173825) | Cod sursa (job #3130178) | Cod sursa (job #1386828) | Cod sursa (job #2397828)
#include <fstream>
#include <vector>
#include <cstring>
#define mod 10007
using namespace std;
ifstream f("abc2.in");
ofstream g("abc2.out");
vector <unsigned long long> v[mod+1];
vector <unsigned long long>::iterator it;
char S[10000005],S1[25];
int i,m,r,j,n;
unsigned long long nr,p[21],ap;
int caut(unsigned long long x){
int r=x%mod;
for(it=v[r].begin();it!=v[r].end();it++)
if(*it==x)
return i;
return -1;
}
int main()
{ f>>(S+1);
p[1]=1;
for(i=2;i<=19;i++)
p[i]=p[i-1]*10;
while(f>>(S1+1)){
nr=0;
for(i=1;S1[i]!=0;i++)
nr=nr+(S1[i]-'a'+1)*p[i];
i=caut(nr);
r=nr%mod;
if(i==-1)
v[r].push_back(nr);
}
m=strlen(S1+1);
nr=0;
for(i=1;i<=m;i++)
nr=nr+(S[i]-'a'+1)*p[i];
ap=0;
for(i=m+1;S[i]!=0;i++){
j=caut(nr);
if(j!=-1)
ap++;
nr=nr/10+(S[i]-'a'+1)*p[m];
}
j=caut(nr);
if(j!=-1)
ap++;
g<<ap;
return 0;
}