Pagini recente » Cod sursa (job #1602871) | Istoria paginii utilizator/denys_vl | Cod sursa (job #1289175) | Cod sursa (job #1307294) | Cod sursa (job #159529)
Cod sursa(job #159529)
#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 A[Nmax][20];
unsigned int viz[Nmax];
int cmp(int a,int b)
{
return strcmp(A[a],A[b]);
}
int n;
void citire()
{
scanf("%d",&n);
fgetc(fin);
for(int i=0; i<n; i++)
gets(A[i]);
}
void solve()
{
for(int i=0; i<n; i++)
sort(A[i],A[i] + strlen(A[i]));
int b[Nmax];
for(int i=0; i<n; i++)
b[i] = i;
sort(b,b+n,cmp);
int nr = n;
for(int i=0; i<n-1; i++)
if(viz[b[i]] == 0)
if(strcmp(A[b[i]],A[b[i+1]]) == 0)
viz[b[i]] = viz[b[i+1]] =1, nr-=2;
printf("%d\n",nr);
}
int main()
{
citire();
solve();
return 0;
}