Pagini recente » Cod sursa (job #213232) | Cod sursa (job #2686763) | Cod sursa (job #1639660) | Cod sursa (job #521364) | Cod sursa (job #2008970)
#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
char v_a[2000001], v_b[2000001];
int v_pozitie[2000001];
int main()
{
freopen ("strmatch.in", "r", stdin);
freopen ("strmatch.out", "w", stdout);
cin>>v_a;
cin>>v_b;
int pozitie = 0, cnt, nr = 0;
for ( int i = 0; i<strlen(v_b)-strlen(v_a); ++i)
{
cnt = 0;
int j = i;
if ( v_a[cnt] == v_b[j] )
{
++cnt;
++j;
if (nr < 1000)
v_pozitie[nr] = i;
while ( v_a[cnt] == v_b[j])
{
++cnt;
++j;
if ( cnt == strlen(v_a) )
nr++;
}
}
}
cout<<nr<<"\n";
for ( int i = 0; i<nr; ++i)
cout<<v_pozitie[i]<<" ";
}