Pagini recente » Cod sursa (job #1085631) | Cod sursa (job #2432653) | Cod sursa (job #863062) | Cod sursa (job #2264367) | Cod sursa (job #798159)
Cod sursa(job #798159)
#include <fstream>
#include <vector>
#include <string>
using namespace std;
ifstream f("abc2.in");
ofstream g("abc2.out");
#define LE 50600
#define MOD 6013
string sir;
string cuv[LE];
int num[LE];
vector<long long > H[MOD+66];
void Push(int value)
{
int R=value%MOD;
H[R].push_back(value);
}
#define ll long long
int find(ll value)
{
ll R=value%MOD;
ll N=H[R].size();
for(ll I=0; I<N; ++I)
if (H[R][I]==value)
return true;
return false;
}
int K,n,i,j;
int Div;
int val;
int main()
{
f>>sir;
while (f>>cuv[++K]);
K--;
int m=cuv[1].length();
for(i=1; i<=K; ++i)
{
for(j=0; j<m; ++j)
{
num[i]=num[i]*3;
if(cuv[i][j]=='b')
num[i]++;
if (cuv[i][j]=='c')
num[i]+=2;
}
if (find(num[i])==false)
val=1;
}
/*
int n=sir.length();
Div=1;
for(i=1; i<m; ++i)
Div*=3;
int sol=0;
/* for(i=0; i<m; ++i)
val=val*3+(sir[i]-'a');
if (find(val)==true)
++sol;
/*
for(i=m; i<n; ++i)
{
val=(val-(sir[i-m]-'a')*Div)*3+(sir[i]-'a');
if (find(val)==true)
++sol;
}
*/
//g<<sol<<'\n';
f.close();
g.close();
return 0;
}