Pagini recente » Cod sursa (job #75869) | Cod sursa (job #431491) | Profil atudoreimiruna | Diferente pentru home intre reviziile 285 si 286 | Cod sursa (job #196218)
Cod sursa(job #196218)
#include <stdio.h>
#include <algorithm>
#include <vector>
using namespace std;
#define NMAX 36010
int N;
char s[20];
vector <int> a[NMAX];
int egal(int x, int y)
{
for (int i = 0; i < 26; i++) if (a[x][i] != a[y][i]) return 0;
return 1;
}
int main()
{
int i, j;
freopen("restante.in", "r", stdin);
freopen("restante.out", "w", stdout);
scanf("%d", &N);
for (i = 1; i <= N; i++) {
scanf("%s", s);
a[i].reserve(26);
for (j = 0; s[j]; j++) a[i][s[j] - 'a']++;
}
sort(a + 1, a + N + 1);
int rez = 0;
for (i = 1; i <= N; ) {
for (j = i; j <= N && egal(i, j); j++);
rez += j - i == 1;
i = j;
}
printf("%d\n", rez);
return 0;
}