Pagini recente » Cod sursa (job #329769) | Cod sursa (job #342272) | Arhiva de probleme | Cod sursa (job #1618878) | Cod sursa (job #2420152)
//#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream in("strmatch.in");
ofstream out("strmatch.out");
const int Max=2000005;
char a[Max],b[Max],*p,aux[Max],aux2[Max];
vector < int >poz;
int nr,j;
int main()
{
in>>a>>b;
int q=strlen(a)-1;
for(int i=0;i+q<strlen(b);i++)
{
strcpy(aux,b+i+q+1);
b[i+q+1]=0;
strcpy(aux2,b+i);
if(strcmp(aux2,a)==0)
{
nr++;
if(nr<=1000)
poz.push_back(i);
}
strcat(b,aux);
}
out<<nr<<"\n";
for(int i=0;i<poz.size();i++)
out<<poz[i]<<" ";
return 0;
}