Cod sursa(job #295260)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 3 aprilie 2009 09:41:24
Problema Restante Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
#include <stdlib.h>
int t,ap[10],marc[31];
char v[36005][31];
long long a[31];
int main()
{
    freopen("restante.in","r",stdin);
    freopen("restante.out","w",stdout);
    scanf("%d\n",&t);
    int i,j,k,cuv=0,r;
    char x[30];
    for (i=1; i<=t; i++)
    {
	fgets(x+1,30,stdin);
	for (j=1; j<=10; j++)
		ap[j]=0;
	r=0;
	for (j=1; x[j]!='\n'; j++)
	{
		v[i][j]=(int)x[j]-96;
		ap[v[i][j]]++;
		v[i][0]++;
	}
	for (j=9; j>=1; j--)
		if (ap[j])
			for (k=1; k<=ap[j]; k++)
				v[i][++r]=j;
    }
	for (i=1; i<=t; i++)
		for (j=1; j<=v[i][0]; j++)
			a[i]=(long long)a[i]*10+v[i][j];
	for (i=1; i<=t; i++)
		for (j=i+1; j<=t; j++)
			if (a[i]==a[j])
			{
				marc[i]++;
				marc[j]++;
			}
	for (i=1; i<=t; i++)
		if (marc[i]==0)
			cuv++;
	printf("%d",cuv);
	/*for (i=1; i<=t; i++)
	{
		for (j=1; j<=v[i][0]; j++)
			printf("%d",v[i][j]);
		printf("\n");
	}*/
    return 0;
}