Cod sursa(job #3328977)

Utilizator BiceaToader David Stefan Bicea Data 11 decembrie 2025 15:10:41
Problema Potrivirea sirurilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
int n,m,lps[2000001],nr,k;
char a[2000001],b[2000001],v[2000001];
void calc()
{
  k=0;
  for(int i=0;i<=n-1;++i)
  {
    while(k && a[k]!=a[i-1]) k=lps[k];
    if(a[k]==a[i-1]) k++;
    lps[i]=k;
  }
}
void gasire()
{
  k=0;
  for(int i=0;i<=m-1;++i)
  {
    while(k && a[k]!=b[i-1]) k=lps[k];
    if(a[k]==b[i-1]) k++;
    if(k==n) v[++nr]==i;
  }
}
void afisare()
{g<<nr<<'\n';
  for(int i=1;i<=nr;++i)
    g<<v[i]<<" ";
}
int main()
{
    cin>>a;
    cin>>b;
    calc();
    gasire();
    return 0;
}