Pagini recente » Cod sursa (job #2008651) | Cod sursa (job #1308532) | Cod sursa (job #1967769) | Cod sursa (job #949146) | Cod sursa (job #105724)
Cod sursa(job #105724)
#include<fstream.h>
#include<string.h>
#define dim1 10000001
#define dim2 50001
char (*a)=new char[dim1];
char b[21];
int cc[dim1];
int c[26][dim2];
int main()
{ifstream f("abc2.in");
ofstream g("abc2.out");
int n,l,i,x,ok,li,j,cont=0;
f.get(a,dim1,'\n');
f.get();
n=strlen(a);
for(i=0;i<n;i++)
{x=a[i]-'a'+1;
c[x][0]++;
c[x][c[x][0]]=i;
}
for(i=0;i<=n;i++)
cc[i]=1;
while(f.get(b,21,'\n'))
{f.get();
l=strlen(b);
x=b[0]-'a'+1;
for(i=1;i<=c[x][0];i++)
if(cc[c[x][i]])
{ok=1;
li=c[x][i];
for(j=1;j<l;j++)
if(a[li+j]!=b[j]) {ok=0;break;}
if(ok)
{cont++;
cc[li]=0;
}
}
}
f.close();
g<<cont<<'\n';
g.close();
return 0;
}