Pagini recente » Cod sursa (job #527452) | Cod sursa (job #729338) | Cod sursa (job #856452) | Cod sursa (job #2762047) | Cod sursa (job #515162)
Cod sursa(job #515162)
#include <fstream>
#include <algorithm>
using namespace std;
#define DIM 36001
ifstream fi ("restante.in");
ofstream fo ("restante.out");
int N, Nr;
char sir[17];
int I[DIM], O[DIM], L[DIM][27];
int cnd (int i1, int i2)
{
for (int i = 0; i < 27; ++i)
if (L[i1][i] > L[i2][i])
return 0;
else if (L[i1][i] < L[i2][i])
return 1;
return 0;
}
int identice (int i1, int i2)
{
for (int i = 0; i < 27; ++i)
if (L[i1][i] != L[i2][i])
return 0;
return 1;
}
int main ()
{
int i, j;
fi >> N;
for (i = 0; i < N; ++i)
{
fi >> sir;
for (j = 0; sir[j]; ++j)
L[i][sir[j] - 96] ++,
O[i] = 0;
I[i] = i;
L[i][0] = j + 1;
}
sort (I, I + N, cnd);
for (i = 1; i < N; ++i)
if ( identice (I[i - 1], I[i]))
O[I[i - 1]] = O[I[i]] = 1;
for (i = 0; i < N; ++i)
if ( !O[i] )
Nr ++;
fo << Nr;
return 0;
}