Cod sursa(job #98652)

Utilizator Adriana_SAdriana Sperlea Adriana_S Data 10 noiembrie 2007 15:31:19
Problema Abc2 Scor 0
Compilator cpp Status done
Runda Happy Coding 2007 Marime 0.83 kb
#include <stdio.h>
#include <string.h>
#include <string>
#include <map>

using namespace std;

const int N_MAX = 10000010;
const int L_MAX = 22;
char sir[N_MAX], s[N_MAX];

map <string, int> words;

string kkt;

int main()
{
	freopen("abc2.in", "r", stdin);
#ifndef _SCREEN_
	freopen("abc2.out", "w", stdout);
#endif

	int l1, L;

	fgets(sir, sizeof(sir), stdin);
	L = strlen(sir) - 1;
	sir[L] = '\0';

	fgets(s, sizeof(s), stdin);
	l1 = strlen(s) - 1;
	s[l1] = '\0';
	kkt = s;
	words[kkt] = 1;

	while (fgets(s, sizeof(s), stdin)) {
		s[l1] = '\0';
		kkt = s;
		words[kkt] = 1;
	}

	kkt.clear();
	int i;
	for (i = 0; i < l1; i ++) {
		kkt.push_back(sir[i]);
	}
	
	int nrp = 0;
	if (words[kkt]) nrp ++;

	for (i = l1; i < L; i ++) {
		kkt.push_back(sir[i]);
		kkt.erase(kkt.begin());

		if (words[kkt]) nrp ++;
	}
	printf("%d\n", nrp);

	return 0;
}