Pagini recente » Cod sursa (job #283730) | Cod sursa (job #638211) | Cod sursa (job #141312) | Cod sursa (job #1237776) | Cod sursa (job #723397)
Cod sursa(job #723397)
#include <fstream>
#include <string.h>
using namespace std;
char A[2000005];
char B[2000005];
long res[2000005];
int main(void)
{
fstream fin("strmatch.in",ios::in);
fstream fout("strmatch.out",ios::out);
fin >> B >> A;
long la,lb,i,j,c;
la = strlen(A);
lb = strlen(B);
c = 0;
i = 0;
while (i <= (la - lb))
{
j = 0;
while ((j < lb) && ((i + j) <= la))
{
while (A[i + j] != B[j])
{
i += 1;
j -= 1;
if (j < 0)
{
break;
}
}
j += 1;
}
if (j == lb)
{
res[c] = i;
c += 1;
}
i += 1;
}
fout << c << "\n";
if (c > 1000)
{
c = 1000;
}
for (i = 0;i < c;i += 1)
{
fout << res[i] << " ";
}
fin.close();
fout.close();
return 0;
}