Pagini recente » Cod sursa (job #2133627) | Cod sursa (job #2523560) | Cod sursa (job #2724102) | Cod sursa (job #2658403) | Cod sursa (job #2637346)
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream fin( "restante.in" );
ofstream fout( "restante.out" );
const int MaxN = 36001;
const int MaxL = 17;
char s[MaxN][MaxL];
int code[MaxL];
int ind[MaxN];
int cmp( int a, int b ) {
return strcmp( s[a], s[b] ) < 0;
}
int main() {
int n, i, nr;
fin >> n;
for ( i = 0; i < n; ++i ) {
fin >> s[i];
ind[i] = i;
for ( int j = 0; j < strlen( s[i] ); ++j ) {
code[j] = s[i][j] - 'a';
}
sort( code, code + strlen( s[i] ) );
for ( int j = 0; j < strlen( s[i] ); ++j ) {
s[i][j] = code[j] + 'a';
}
}
sort( ind, ind + n, cmp );
nr = 0;
for ( i = 1; i < n; ++i ) {
if ( strcmp( s[ind[i]], s[ind[i - 1]] ) ) {
++nr;
}
}
fout << nr;
fin.close();
fout.close();
return 0;
}