Pagini recente » Cod sursa (job #2167296) | Cod sursa (job #666471) | Cod sursa (job #2551170) | Cod sursa (job #2111258) | Cod sursa (job #541055)
Cod sursa(job #541055)
#include <fstream.h>
#include <iostream.h>
#include <string.h>
fstream f,g;
char a[2000001],b[2000001];
char *p;
int v[2000001];
inline void cauta(int la,int lb)
{
int aux;
int i;
int k,nr;
nr=0;
char c[2000001];
while (p)
{i=p-b;
k=1;aux=0;
strcpy(c,b+i);
c[la]=0;
if(strcmp(c,a)==0)
{nr++;
v[nr]=i;}
p++;
p=strchr(p,a[0]);
}
g<<nr<<endl;
if(nr>1000)
nr=1000;
for(int i=1;i<=nr;i++)
g<<v[i]<<" ";
}
int main()
{
int la,lb;
f.open("strmatch.in",ios::in);
g.open("strmatch.out",ios::out);
f.get(a,2000001);
f.get();
f.get(b,2000001);
la = strlen(a);
lb = strlen(b);
p=strchr(b,a[0]);
if(lb>=la)
cauta(la,lb);
else
g<<0;
return 0;
}