Cod sursa(job #179382)

Utilizator jupanu92Anonim jupanu92 Data 15 aprilie 2008 20:53:21
Problema Restante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <cstdio>
#include <algorithm>
#define Nmax 36003
#include <string.h>


FILE *fin=freopen("restante.in","r",stdin),
     *fout=freopen("restante.out","w",stdout);

using namespace std;


char viz[Nmax];


int n;



char A[Nmax][20];

void citire()
{
  scanf("%d",&n);
  
  fgetc(fin);
  
  for(int i=0; i<n; i++)
    scanf(" %s",A[i]);
}

int comp(const void * a,const void * b) {
	return strcmp( (char *)a, (char *)b );
}

void solve()
{
  for(int i=0; i<n; i++)
    sort(A[i],A[i] + strlen(A[i]));
   
   qsort((void *)A,n,sizeof A[0],comp);
    
    int nr=n;
      
    for(int i=0; i< n-1; i++)
      if(strcmp(A[i],A[i+1]) == 0)    
            viz[i]=viz[i+1] =1;
    for(int i=0; i<n; i++)
      if(viz[i])
        nr--;
                 
          
   printf("%d\n",nr);
}

int main()
{
  citire();
  solve(); 
  return 0;
}