Cod sursa(job #1482875)

Utilizator BodStfBodoarca Stefan BodStf Data 8 septembrie 2015 11:10:24
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
#include<string.h>

#define MAX 2000001
char pat[MAX],txt[MAX];
int poz[MAX];

int main()
{
	FILE* f1,*f2;
	f1=fopen("strmatch.in","r");
	f2=fopen("strmatch.out","w");
	fscanf(f1,"%s %s",pat,txt);
	if(strlen(pat)>strlen(txt))
	{
		fprintf(f2,"0\n");
		return 0;
	}

	int i=0,count=0;
	char* t=txt;
	while(t)
	{
		char* p=strstr(t,pat);
		if(p==NULL)
			break;
		while(p!=t)
		{
			i++;
			t++;
		}
		poz[count++]=i;
		t++;
		i++;
	}

	fprintf(f2,"%d\n",count);
	for(i=0;i<count;i++)
		fprintf(f2,"%d ",poz[i]);
	fcloseall();
	return 0;
}