Cod sursa(job #2295211)

Utilizator TheSeekerRobert Cristian Dobra TheSeeker Data 3 decembrie 2018 13:02:35
Problema Potrivirea sirurilor Scor 16
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <string>
#include <string.h>
using namespace std;

ifstream fin ("strmatch.in");
ofstream fout("strmatch.out");

int n,m,i,k,sol,v[1005];
string A,B;

int main(){
    getline(fin,A);
    getline(fin,B);
    n=A.size();
    m=B.size();
    for (i=0;i<m;i++){
        while (k>0 && A[k]!=B[i])
            k--;
        if (A[k]==B[i])
            k++;
        if (k==n){
            sol++;
            if (sol<1001)
                v[sol]=i-n+1;
        }
    }
    fout<<sol<<'\n';
    for (i=1;i<=min(1000,sol);i++)
        fout<<v[i]<<" ";
    fin.close();
    fout.close();
    return 0;
}