Cod sursa(job #3338454)

Utilizator iustin.dumiDumitrescu Iustin iustin.dumi Data 3 februarie 2026 13:38:23
Problema Abc2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("abc2.in");
ofstream fout("abc2.out");
int n,i,j,x,op,h1,h2,p1=1,sol;
string a,b;
unordered_set<int> fr;
int main()
{ fin>>a;
  while(fin>>b)
  {if(n==0) n=b.size();
   h1=0;
   for(i=0;i<n;i++)
       h1=3*h1+b[i]-'a';
   fr.insert(h1);
  }
  for(i=0;i<n;i++)
  {if(i) p1*=3;
   h2=3*h2+a[i]-'a';
  }
 if(fr.count(h2)) sol++;
  for(i=n;i<a.size();i++)
  {h2=h2-p1*(a[i-n]-'a');
   h2*=3;
   h2+=a[i]-'a';
   if(fr.count(h2)) sol++;
  }
  fout<<sol;
    return 0;
}