Cod sursa(job #128041)

Utilizator Adela_BaciuAdela Baciu Adela_Baciu Data 25 ianuarie 2008 22:36:16
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdio.h>
#include<string.h>
long f[30],kk,num,ok2,k,ns,n,ok,i,j,nl;
int main()
{
 char ch,s[20];
 long nr[3600];
 char a[3600][16];
 freopen("restante.in","r",stdin);
 freopen("restante.out","w",stdout);
 scanf("%ld",&n);
 scanf("%c",&ch);
 for(i=0;i<=3600;i++)
  nr[i]=0;
 for(k=1;k<=n;k++)
  {
   for(i=0;i<=10;i++) f[i]=0;
   gets(s);
   ns=strlen(s);
   for(i=0;i<ns;i++)
    f[s[i]-'a'+1]++;
   ok2=1;
   for(i=1;i<=nl;i++)
    {
     ok=1;
     kk=0;
     for(j=0;j<10;j++)
      if(f[j]!=a[i][j])
       ok=0;
     if(ok==0)
      {
       ok2=0;
      }
     else
      {nr[i]++; kk=1;}
    }
  if((ok2==0&&kk==0)||(nl==0))
   {
    nl++;
    for(j=0;j<=9;j++)
     a[nl][j]=f[j];
    nr[nl]++;
   }


  }
 num=0;
 for(i=1;i<=nl;i++)
  if(nr[i]==1)
   num++;
 printf("%ld",num);
 fcloseall();
 return 0;
}