Cod sursa(job #2619017)

Utilizator RaduQQTCucuta Radu RaduQQT Data 26 mai 2020 18:52:14
Problema Potrivirea sirurilor Scor 16
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
	char* a = (char*)malloc(2000000);
	char* b = (char*)malloc(2000000);
	FILE* fin = fopen("strmatch.in", "r");
	FILE* fout = fopen("strmatch.out", "w");

	fscanf(fin, "%s%s", a,b);
	int count = 0;
	int j = 0;
	int v[10000];
	int r = 0;
	for (int i = 0; i < strlen(b); i++)
	{
		if (b[i] == a[j])
		{
			j++;
			if (j == strlen(a))
			{
				count++;
				j = 0;
				i = i - strlen(a) + 1;
				v[r++] = i;
			}
		}
		else
			j = 0;
	}
	fprintf(fout, "%d\n", count);
	for (int i = 0; i < r; i++)
		fprintf(fout, "%d ", v[i]);
}