Mai intai trebuie sa te autentifici.
Cod sursa(job #125035)
| Utilizator | Data | 20 ianuarie 2008 11:05:04 | |
|---|---|---|---|
| Problema | Restante | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | preONI 2008, Runda 3, Clasa a 9-a | Marime | 0.72 kb |
#include<stdio.h>
#include<string.h>
FILE *f=fopen("restante.in","r"),
*g=fopen("restante.out","w");
char a[36000][20],b[36000][20];
int i,j,n,m,c[140],p,max,apar[36000],ok;
int main()
{ fscanf(f,"%d",&n);
for(i=1;i<=n;++i){ fscanf(f,"%s",&a[i]);
m=strlen(a[i]);
if(m>max) max=m;
for(j='a';j<='z';++j) c[j]=0;
for(j=0;j<m;++j) ++c[a[i][j]];
p=0;
for(j='a';j<='z';++j) while(c[j]) a[i][p]=j,++p,--c[j];
ok=1;
for(j=1;ok&&j<=apar[0];++j) if(strcmp(a[i],b[j])==0) ok=0,++apar[j];
if(ok) strcpy(b[++apar[0]],a[i]),apar[apar[0]]=1;
}
for(i=1;i<=apar[0];++i) if(apar[i]>1)n-=apar[i];
fprintf(g,"%d\n",n);
fclose(f);
fclose(g);
return 0;
}