Pagini recente » Cod sursa (job #2096739) | Cod sursa (job #1438663) | Cod sursa (job #2209239) | Cod sursa (job #142811) | Cod sursa (job #1563605)
#include <bits/stdc++.h>
#define maxN 36002
#define maxC 2100
#define maxA 26
#define maxL 17
using namespace std;
int prime[] = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97,
101, 103, 107, 109, 113, 127, 131};
int n, m, sol, V[maxC][maxL], w[maxA];
char s[maxA];
void read()
{
int i;
freopen("restante.in", "r", stdin);
scanf("%d\n", &n);
while (n --)
{
gets(s);
m = strlen(s);
int crypt = 0;
for (i = 0; i < m; ++ i)
++ w[s[i] - 'a'];
for (i = 0; i < maxA; ++ i)
{
crypt = crypt + prime[i] * w[i];
w[i] = 0;
}
++ V[crypt][m];
}
}
void solve()
{
int i, j;
for (i = 0; i < maxC - 1; ++ i)
for (j = 1; j < maxL; ++ j)
if (V[i][j] == 1)
++ sol;
}
void write()
{
freopen("restante.out", "w", stdout);
printf("%d", sol);
}
int main()
{
read();
solve();
write();
return 0;
}