Cod sursa(job #125231)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 20 ianuarie 2008 12:11:06
Problema Restante Scor 40
Compilator cpp Status done
Runda preONI 2008, Runda 3, Clasa a 9-a Marime 0.72 kb
#include<stdio.h>
int nr,s,ok,k,f[36001][32];
long i,j,n,y;
char ch;
int main()
{
freopen("restante.in","r",stdin);
freopen("restante.out","w",stdout);
scanf("%ld\n",&n);
for(i=1;i<=n;i++)
  {
  scanf("%c",&ch);
  nr=0;
  s=0;
  while(ch!='\n')
    {
    f[i][ch-96]++;
    nr++;
    s=s+ch;
    scanf("%c",&ch);
    }
  f[i][30]=nr;
  f[i][31]=s;
  }
for(i=1;i<n;i++)
  {
  if(f[i][0]==1)
    continue;
  y++;
  ok=0;
  for(j=i+1;j<=n;j++)
    if((f[i][30]==f[j][30]) && (f[i][31]==f[j][31]))
      {
      nr=f[i][30];
      for(k=1;k<=nr;k++)
	if(f[i][k]!=f[j][k])
	  break;
      if(k==nr+1)
	{
	y++;
	f[j][0]=1;
	ok=1;
	}
      }
  if(ok==0)
    y--;
  }
printf("%ld",n-y);
return 0;
}