Pagini recente » Cod sursa (job #2342371) | Cod sursa (job #2731881) | Cod sursa (job #1183161) | Cod sursa (job #638983) | Cod sursa (job #740991)
Cod sursa(job #740991)
#include <fstream>
#define LE 2000005
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
int n1,n2,i,k,k2,pozitie,Poz[LE],IN[LE],j;
string a,b;
int main()
{
f>>a>>b;
n1=a.length();
n2=b.length();
for(i=0; i<n2; ++i)
if (b[i]==a[0])
{
Poz[++k]=i;
IN[k]=i;
}
for(i=1; i<n1; ++i)
{
k2=k;
k=0;
for(j=1; j<=k2; ++j)
{
pozitie=Poz[j];
if (pozitie+1<n2&&b[pozitie+1]==a[i])
{
Poz[++k]=pozitie+1;
IN[k]=IN[j];
}
}
}
g<<k<<'\n';
for(i=1; i<=1000&&i<=k; ++i)
g<<IN[i]<<" ";
f.close();
g.close();
return 0;
}