Cod sursa(job #99281)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 11 noiembrie 2007 09:04:10
Problema Abc2 Scor 0
Compilator cpp Status done
Runda Happy Coding 2007 Marime 0.79 kb
#include <fstream.h>
#include <string.h>
#include <stdio.h>
char a[10000000],b[50000][20];
long n;
 void citire(){
ifstream fin("abc2.in");
fin.getline(a,10000000);
  while (!fin.eof())
   fin.getline(b[n++],20);
fin.close();
}

void ordonare(){
for (long i=0;i<n-1;i++)
   for (long j=i+1;j<n;j++)
      if (strcmp(b[i],b[j])==0)
	 b[j][0]=0;
}

long da(long k,long i){
for (long j=0;j<strlen(b[i]);j++)
   if (a[k+j]!=b[i][j])
     return 0;
return 1;
}

long long numarare(){
long long nr=0,lg=strlen(b[0]),lg1=strlen(a);
for (long k=0;k<lg1-lg;k++)
   for (long i=0;i<n;i++)
   if (strlen(b[i])!=0)
      if (da(k,i))
	nr++;
return nr;
}

int main(){
citire();
ordonare();
ofstream fout("abc2.out");
fout<<numarare();
fout<<"\n";
fout.close();
return 0;
}