Pagini recente » Cod sursa (job #219982) | Cod sursa (job #1858776) | Cod sursa (job #362809) | Cod sursa (job #2686732) | Cod sursa (job #583374)
Cod sursa(job #583374)
#include <cstdio>
#include <vector>
using namespace std;
int main()
{
freopen ("strmatch.in", "r", stdin);
freopen ("strmatch.out", "w", stdout);
char a[200000], b[200000];
scanf ("%s %s", a,b);
int n,m,aux,anz=0;
vector <int> poz;
n=strlen(a);
m=strlen(b);
for (int i=0;i<m;i++)
if (b[i]==a[0])
{
aux=0;
for (int j=i+1;j<i+n;j++)
{
aux++;
if (b[j]!=a[aux])
break;
if (j==(i+n-1))
{
poz.push_back(i);
anz++;
}
}
}
printf ("%d \n", anz);
if (poz.size()<=1000)
for (int i=0;i<poz.size();i++)
printf ("%d ", poz[i]);
else
for (int i=0;i<1000;i++)
printf ("%d ", poz[i]);
}