Cod sursa(job #285045)

Utilizator cristiprgPrigoana Cristian cristiprg Data 22 martie 2009 12:23:40
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>
#define DIM 200005
#define cur main

char s2[DIM], s1[DIM];

bool match(int j)
{

	for (int i = 0; s1[i] != '\n'; i++)
	{

		if (s1[i] != s2[i + j])
			return false;
	}

	return true;
}

int cur()
{
	FILE *f = fopen("strmatch.in", "r");
	fgets(s1, DIM, f);
	fgets(s2, DIM, f);
	fclose(f);


	int count = 0, aparitii[1005], i;

	for (i = 0; s2[i] != '\n'; i++)
		if (s2[i] == s1[0])
			if (match(i))
			{
				count++;
				if (count <= 1000)
					aparitii[count] = i;
			}

	f = fopen("strmatch.out", "w");
	fprintf(f, "%d\n", count);
	for (i = 1; i <= count; i++)
		fprintf(f, "%d ", aparitii[i]);

	fclose(f);

	return 0;
}