Pagini recente » Cod sursa (job #431690) | Cod sursa (job #409495) | Rating Alecu Stefan-Iulian (uneven-shiver) | Cod sursa (job #1214380) | Cod sursa (job #991153)
Cod sursa(job #991153)
#include <fstream>
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
char a[2000001],b[2000001];
long long i,j,k,n1,n2,nr,p,ok,d[2000001];
int main()
{
while (a[n1]!='\n')
{ n1++;
f>>noskipws>>a[n1];
}
n1--;
while (b[n2]!='\n')
{ n2++;
f>>noskipws>>b[n2];
}
n2--;
for (i=1;i<=n2-n1+1;i++)
{
if (b[i]==a[1] && b[i+n1-1]==a[n1])
{ ok=1;
for (j=2;j<=n1;j++)
{
if (a[j]!=b[i+j-1])
{
ok=0;
break;
}
}
if(ok){nr++;d[nr]=i-1;}
}
}
g<<nr<<'\n';
for(i=1;i<=nr;i++)g<<d[i]<<" ";
f.close();
g.close();
}