Pagini recente » Cod sursa (job #1593992) | Cod sursa (job #2334181) | Cod sursa (job #2913397) | Cod sursa (job #667574) | Cod sursa (job #100976)
Cod sursa(job #100976)
#include<fstream.h>
#include<string.h>
#define dim 10000001
char (*a)=new char[dim];
char b[22];
int cc[dim];
int main()
{ifstream f("abc2.in");
ofstream g("abc2.out");
unsigned long n,l,i,j,li,ls;
int ok=0;
f.get(a,dim,'\n');
f.get();
n=strlen(a);
//for(i=0;i<=n;i++) cc[i]=1;
int c=0;
f.get(b,22,'\n');
f.get();
l=strlen(b);
li=0;
ls=l-1;
while(ls<n)
{ok=0;
if(cc[li]) {li+=l;ls+=l;}
else
{if((a[li]==b[0])&&(a[ls]==b[l-1]))
{ok=1;
for(i=1;i<l;i++)
if(a[li+i]!=b[i]) {ok=0;break;}
}
if(ok) {c++;cc[li]=1;}
}
li++;
ls++;
}
while(f.get(b,22,'\n'))
{f.get();
li=0;
ls=l-1;
while(ls<n)
{ok=0;
if(cc[li]) {li+=l;ls+=l;}
else
{if((a[li]==b[0])&&(a[ls]==b[l-1]))
{ok=1;
for(i=1;i<l;i++)
if(a[li+i]!=b[i]) {ok=0;break;}
}
if(ok) {c++;cc[li]=1;}
}
li++;
ls++;
}
}
f.close();
g<<c<<'\n';
g.close();
return 0;
}