Cod sursa(job #3292220)

Utilizator AlexRadu010Radu Alexandru Timotei AlexRadu010 Data 7 aprilie 2025 16:13:55
Problema Potrivirea sirurilor Scor 40
Compilator cpp-64 Status done
Runda cex_9 Marime 0.59 kb
#include<fstream>
#include<string>
#include<vector>
const std::string txt="strmatch";
std::ifstream cin(txt+".in");
std::ofstream cout(txt+".out");
std::string a,b;
std::vector <int> v;
int u[((int)1e6)*4+5];
signed main(int n,int m,int j){
    cin>>a>>b;
    b=a+" "+b;
    n=a.size();
    m=b.size();
    j=0;
    for(int i=1;i<m;++i){
        while(j>0 && b[j]!=b[i])
            j=u[j-1];
        if(b[j]==b[i])
            ++j;
        u[i]=j;
        if(u[i]==n)
            v.push_back(i-n);
    }
    cout<<v.size()<<'\n';
    for(auto i:v)
        cout<<i-n<<' ';
}