Pagini recente » Cod sursa (job #1500664) | Cod sursa (job #2956104) | Cod sursa (job #1431476) | Monitorul de evaluare | Cod sursa (job #810180)
Cod sursa(job #810180)
#include<fstream>
#include<string.h>
#define nmax 2000005
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
char a[nmax],b[nmax];
int c[1005],k;
int main()
{
f>>a>>b;
int m=strlen(a),n=strlen(b),i=0,j=0;
if(m>n)
g<<0<<'\n';
else
{
do
{
i=0;
if(a[i]==b[j+i])
{
while(a[i]==b[j+i] && a[i] && b[j+i])
i++;
if(i==m)
c[k++]=j;
j++;
}
else
j++;
}while(j<n && k<1000);
g<<k<<'\n';
if(k)
{
for(i=0;i<k;i++)
g<<c[i]<<' ';
g<<'\n';
}
}
f.close();
g.close();
return 0;
}