Cod sursa(job #105724)

Utilizator sigridMaria Stanciu sigrid Data 17 noiembrie 2007 21:48:18
Problema Abc2 Scor 0
Compilator cpp Status done
Runda Happy Coding 2007 Marime 0.73 kb
#include<fstream.h>
#include<string.h>
#define dim1 10000001
#define dim2 50001
char (*a)=new char[dim1];
char b[21];
int cc[dim1];
int c[26][dim2];
int main()
{ifstream f("abc2.in");
 ofstream g("abc2.out");
 int n,l,i,x,ok,li,j,cont=0;
 f.get(a,dim1,'\n');
 f.get();
 n=strlen(a);
 for(i=0;i<n;i++)
  {x=a[i]-'a'+1;
   c[x][0]++;
   c[x][c[x][0]]=i;
  }
 for(i=0;i<=n;i++)
  cc[i]=1;
 while(f.get(b,21,'\n'))
  {f.get();
   l=strlen(b);
   x=b[0]-'a'+1;
   for(i=1;i<=c[x][0];i++)
    if(cc[c[x][i]])
    {ok=1;
     li=c[x][i];
     for(j=1;j<l;j++)
      if(a[li+j]!=b[j]) {ok=0;break;}
     if(ok)
      {cont++;
       cc[li]=0;
      }
    }
  }
f.close();
 g<<cont<<'\n';
g.close();
return 0;
}