Cod sursa(job #1092564)

Utilizator Barcau_EmanuelBarcau Emanuel Barcau_Emanuel Data 27 ianuarie 2014 10:55:10
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
int n,m,i,j,k,l,nr,c[1000000];
char a[2000001],b[2000001];

int ver(int x)
{
    int i,j;
    if(m-x+1<n) return 0;;
   j=1;
    for(i=x;i<=m;i++)
    if(a[j]==b[i]) {j++; if(j==n+1) {nr++; c[nr]=x-1; return 0;}}
    else return 0;
}

int main()
{
    f.getline(a+1,2000001); n=strlen(a+1);
    f.getline(b+1,2000001); m=strlen(b+1);

    int x;
    x=1;
    if(n>m) g<<0;
    else{

    for(i=1;i<=m;i++)
    {
      if(a[1]==b[i]) l=ver(i);
    }

    g<<nr<<"\n";

    for(i=1;i<=nr;i++) g<<c[i]<<" ";

    }
    return 0;
}