Cod sursa(job #19859)

Utilizator MARCELMIHALCEA MARICEL MARCEL Data 20 februarie 2007 09:14:19
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.36 kb
#include<fstream.h>
#include<string.h>

char s[257],cuv[257][257],C[257];
int n,k,i,M,j,LC,V[257],sol[257],pmin;
long NR;
int NrVocale(char *text)
{
 int x,i,NR=0;
 x=strlen(text);
 for (i=0;i<x;i++)
   if 
((text[i]=='a')||(text[i]=='e')||(text[i]=='i')||(text[i]=='o')||(text[i]=='u'))
      NR++;
 return NR;
}

int main()
{
 ifstream f("vocale.in");
 ofstream fout("vocale.out");
 int nr_cuv_min,gasit,q;
 f>>k;
 f.get();
 for (j=0;j<k;j++)
  {
   f.get(s+1,256,'\n');
   f.get();
   s[0]=' ';
   n = strlen(s);
   M = 0;
   i=0;
   while (s[i]==' ') i++;
   for ( ;i<=n;i++)
    {
     if ((s[i]!=' ')&&(s[i-1]==' '))
       {
	LC = 1;
	C[0] = s[i];
       }
      else if (s[i]!=' ') C[LC++] = s[i];
     if (((s[i]==' ')&&(s[i-1]!=' '))||(s[i]==0))
	{
	 C[LC]=0;
	 strcpy(cuv[M],C);
	 M++;
	}
    }
   for (i=0;i<M;i++)
     V[i] = NrVocale(cuv[i]);
   pmin = 0;
   for(i=1;i<M;i++)
     if (V[pmin]>V[i]) pmin = i;
   fout<<cuv[pmin]<<" ";
   nr_cuv_min=0;
   for (i=0;i<M;i++)
    if (V[i]==V[pmin])
     {
      strcpy(C,cuv[i]);
      gasit = 0;
      for (q=i+1;(q<M) && (!gasit);q++)
	if (!strcmp(C,cuv[q])) gasit = 1;
      if (!gasit) nr_cuv_min++;
     }
   sol[j] = nr_cuv_min;
  }
 fout<<"\n";
 NR = 1;
 for (j=0;j<k;j++) NR = (NR*sol[j])%2003;
 fout<<NR<<"\n";
 fout.close();
 f.close();
 return 0;
}