Pagini recente » Cod sursa (job #2512881) | Cod sursa (job #858993) | Cod sursa (job #1034276) | Cod sursa (job #1876684) | Cod sursa (job #472236)
Cod sursa(job #472236)
#include <cstring>
#include <fstream>
#include <algorithm>
using namespace std;
const int SIZE = 36001;
ifstream fin("restante.in");
ofstream fout("restante.out");
void Read();
void Solve();
void Write();
int n, res, in[SIZE];
char v[SIZE][18];
bool cmp(int i1, int i2)
{
if (strlen(v[in[i1]]) != strlen(v[in[i2]]))
return strlen(v[in[i1]]) < strlen(v[in[i2]]);
return strcmp(v[in[i1]], v[in[i2]]) < 0;
}
int main()
{
Read();
Solve();
Write();
}
void Read()
{
fin >> n;
for (int i = 1; i <= n; ++i)
{
fin >> v[i];
sort(v[i], v[i] + strlen(v[i]));
in[i] = i;
}
}
void Solve()
{
sort(in + 1, in + n + 1, cmp);
for (int i = 1; i <= n; ++i)
if ( (i == 1 || strcmp(v[in[i]], v[in[i - 1]]) != 0) && (i == n || strcmp(v[in[i]], v[in[i + 1]]) != 0) )
++res;
}
void Write()
{
fout << res;
}