Cod sursa(job #143412)

Utilizator bogdan2412Bogdan-Cristian Tataroiu bogdan2412 Data 26 februarie 2008 14:55:08
Problema Potrivirea sirurilor Scor Ascuns
Compilator cpp Status done
Runda Marime 0.61 kb
#include <cstdio>
#include <string>
#include <vector>

using namespace std;

#define MAXN 1048576

char tmp[MAXN];
string A, B;

vector<int> match;

int main()
{
	freopen("strmatch.in", "rt", stdin);
	freopen("strmatch.out", "wt", stdout);
	
	scanf("%s", tmp); A = tmp;
	scanf("%s", tmp); B = tmp;
	
	for (size_t k = 0; k + A.size() - 1 < B.size(); k++) 
	{
		int ok = 1;
		for (int i = 0; i < (int)A.size() && ok; i++)
			ok = (A[i] == B[i + k]);
		if (ok)
			match.push_back(k);
	}
	printf("%d\n", (int)match.size());
	for (size_t k = 0; k < match.size(); k++)
		printf("%d ", match[k]);
	printf("\n");
	
	return 0;
}