Cod sursa(job #239351)

Utilizator jupanubv92Popescu Marius jupanubv92 Data 4 ianuarie 2009 17:13:14
Problema Restante Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include <stdlib.h>


using namespace std;

int n,O[1000001];
char c[36001][20];

int comp(int a,int b){
    return strcmp( c[a], c[b] )<0;
}

void citire()
{
    scanf("%d ",&n);
    for(int i=0;i<n;i++)
     {
      fgets(c[i],20,stdin);
      int N=strlen(c[i])-1;
      if(c[i][N]=='\n')
         {c[i][N]='\0';
          N--;
         }
      sort(c[i],c[i]+N+1);
     }

}

void solve()
{
    for (int i=0; i<=n; ++i)
        O[i] = i;
	sort(O, O+n, comp);
	int nr=0;
    for(int i=1;i<n;i++)
	  if(strcmp(c[O[i]],c[O[i-1]])!=0)
		  nr++;
    printf("%d\n",nr);
}


int main()
{
    freopen("restante.in","r",stdin);
    freopen("restante.out","w",stdout);
    citire();
    solve();
    return 0;
}