Pagini recente » Cod sursa (job #838924) | Cod sursa (job #722691) | Cod sursa (job #2377359) | Cod sursa (job #1842550) | Cod sursa (job #977587)
Cod sursa(job #977587)
#include <cstdio>
#include <cstring>
using namespace std;
char s[2000001], a[2000001];
int b[2000001];
bool verificare (int p, int m, int n)
{
for (int i=p+1; i<p+m; i++)
{
if (s[i]!=a[i-p]) return false;
}
return true;
}
int main()
{
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
gets(a); gets(s); int m=strlen(a); int n=strlen(s); int nr=0;
for (int i=0; i<=n-m; i++)
{
int p=-1;
if (s[i]==a[0])
{
p=i;
if (verificare(i,m,n)==true) {nr++; b[nr]=p;}
}
}
printf("%d\n",nr);
for (int i=1; i<=nr; i++) printf("%d ",b[i]);
fclose(stdin);
fclose(stdout);
return 0;
}