Cod sursa(job #523529)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 18 ianuarie 2011 15:12:12
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream.h>
#include<iostream.h>
#include<string.h>
#define N 2000001
char s1[N],s2[N];
long m,n,k=0,t=0,i=0,v[1001];
int main()
{ifstream f1("strmatch.in");
ofstream f2("strmatch.out");
f1>>s1>>s2;
m=strlen(s1);
n=strlen(s2);
while(i<n)
      {if(k>0&&s1[k]!=s2[i])
              k=0;
      if(s1[k]==s2[i])
              k++;
      if(k==m)
              {if(t<1000)
                    v[t]=i-m+1;
              t++;
              i=i-m+1;}
      i++;}
f2<<t<<endl;
if(t>=1000)
      t=1000;
for(i=0;i<t;i++)
      f2<<v[i]<<" ";
f1.close();
f2.close();
return 0;}