Pagini recente » Cod sursa (job #2649262) | Cod sursa (job #2720573) | Cod sursa (job #20636) | Cod sursa (job #1231321) | Cod sursa (job #1295774)
#include<fstream>
#include<string.h>
#include<iostream>
using namespace std;
char a[2000000],b[2000000];
long n,m;
int t[2000000],k=0;
void van(int i,int j)
{
if(i>=n)
t[k++]=j-n;
if(a[i]==b[j]&&j<m)
van(i+1,j+1);
}
int main()
{
ifstream f("strmatch.in");
ofstream g("strmatch.out");
f>>a>>b;
n=strlen(a);
m=strlen(b);
long j;
for(j=0;j<=m-n;j++)
if(a[0]==b[j])
van(0,j);
g<<k<<"\n";
for(j=0;j<k;j++)
g<<t[j]<< " ";
f.close();
g.close();
return 0;
}