Pagini recente » Cod sursa (job #1269126) | Cod sursa (job #835727) | Cod sursa (job #1119967) | Cod sursa (job #757646) | Cod sursa (job #1477226)
#include <cstdio>
#include <cstring>
#define MOD1 1013
#define MOD2 97
#define MOD3 53
#define DIM 27
#define DIM_TXT 10000007
using namespace std;
int h1, h2, h3, put1[DIM], put2[DIM], put3[DIM], ct, n, sze;
char s[DIM], txt[DIM_TXT], loc[MOD1+2][MOD2+2][MOD3+2];
void init()
{
put1[0] = 1;
for(int i = 1; i< DIM; ++i) put1[i] = (3*put1[i-1])%MOD1;
put2[0] = 1;
for(int i = 1; i< DIM; ++i) put2[i] = (3*put2[i-1])%MOD2;
put3[0] = 1;
for(int i = 1; i< DIM; ++i) put3[i] = (3*put3[i-1])%MOD3;
}
void citire()
{
scanf("%s", txt+1);
n = strlen(txt+1);
while(scanf("%s", s+1) == 1)
{
if(!sze) sze = strlen(s+1);
h1 = 0;
h2 = 0;
h3 = 0;
for(int i = 1; i<= sze; ++i)
{
h1 = (h1 + put1[sze-i] * (s[i] - 'a'))%MOD1;
h2 = (h2 + put2[sze-i] * (s[i] - 'a'))%MOD2;
h3 = (h3 + put3[sze-i] * (s[i] - 'a'))%MOD3;
}
loc[h1][h2][h3] = 1;
}
}
int main()
{
freopen("abc2.in", "r", stdin);
freopen("abc2.out", "w", stdout);
init();
citire();
printf("0\n");
return 0;
}