Cod sursa(job #810180)

Utilizator raulstoinStoin Raul raulstoin Data 9 noiembrie 2012 20:00:52
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#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;
}