Cod sursa(job #143014)

Utilizator ciprianfFarcasanu Alexandru Ciprian ciprianf Data 25 februarie 2008 20:24:58
Problema Restante Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int v[36009];
char m[36009][20];
int comp(int a, int b) {
//	if(strcmp(m[a],m[b])==1) return 1; // compar liniile a si b din matrice
//	else return 0;
	return strcmp(m[a],m[b]);
}
void transform(int l){
	int x;
	x=strlen(m[l]);
	sort(m[l],m[l]+x);
} 
int main(){
	int i,n,cn,sol=0,frecv[36009]={0};
	freopen("restante.in","r",stdin);
	freopen("restante.out","w",stdout);
	scanf("%d",&n);
	cn=n;
	for(i=0;i<n;i++) {
		scanf("%s\n",m[i]);
		transform(i);
	}
	for(i=0;i<n;i++)
		v[i]=i;
	sort(v,v+n,comp);
	for(i=0;i<n-1;i++)
		if(strcmp(m[v[i]],m[v[i+1]])==0) { frecv[v[i]]=1; frecv[v[i+1]]=1;}
//	for(i=0;i<n;i++)
//		printf("%s\n",m[v[i]]);
	for(i=0;i<n;i++)
		if(frecv[i]==0) sol++;
	printf("%d",sol);
	return 0;
}