Pagini recente » Cod sursa (job #2738876) | Cod sursa (job #721638) | Cod sursa (job #1948959) | Cod sursa (job #11229) | Cod sursa (job #2106858)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
char A[2000005], B[2000005], *p;
int n, x, v[50];
int main()
{
f.get(A,100);
f.get();
f.get(B,100);
if(B[0]==B[strlen(B)-1]) x=1;
int k=0, q=0;
p=strstr(A, B);
while(p && k<=1000)
{
k++;
n=p-A;
if(q==0) v[++q]=n;
else v[++q]=n+(strlen(B)-x)*(q-1);
strcpy(A+n, A+n+strlen(B)-x);
p=strstr(A, B);
}
g<<k<<endl;
for(int i=1;i<=q;i++) g<<v[i]<<" ";
return 0;
}