Pagini recente » Cod sursa (job #622005) | Cod sursa (job #1497474) | Cod sursa (job #137726) | Cod sursa (job #2901744) | Cod sursa (job #101014)
Cod sursa(job #101014)
#include<fstream.h>
#include<string.h>
#define dim 100//00001
char (*a)=new char[dim];
char b[22];
char 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,ok2;
/* f.get(b,22,'\n');
l=strlen(b);
li=0;
ls=l-1;
ok2=1;
while((ls<n)&&ok2)
{ok=0;
if(!cc[li])
{ok=1;
for(i=1;i<l;i++)
{if(a[li+i]!=b[i]) {ok=0;break;}}
if(ok) {ok2=0;break;}
else{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]=0;}
}
li++;
ls++;
}
ok=0;
*/
while(f.get(b,22,'\n'))
{f.get();
l=strlen(b);
li=0;
ls=l-1;
ok2=1;
while((ls<n)&&ok2)
{ok=0;
if(!cc[li])
{ok=1;
for(i=1;i<l;i++)
{if(a[li+i]!=b[i]) {ok=0;break;}}
if(ok) {ok2=0;break;}
}
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]=0;}
}
li++;
ls++;
}
}
f.close();
g<<c<<'\n';
g.close();
return 0;
}