Pagini recente » Cod sursa (job #1794740) | preONI 2008 - Sponsori si premii | Cod sursa (job #2272192) | Cod sursa (job #1307883) | Cod sursa (job #2008971)
#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<min(nr, 1000); ++i)
cout<<v_pozitie[i]<<" ";
}