Pagini recente » Borderou de evaluare (job #1720199) | Cod sursa (job #110535) | Cod sursa (job #2366350) | Cod sursa (job #2239371) | Cod sursa (job #866516)
Cod sursa(job #866516)
#include <fstream>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream f("restante.in");
ofstream g("restante.out");
const int MAX_N = 36005;
bool cmp(const string i, const string j)
{
return i < j;
}
int n, frecv[30], rez;
string s[MAX_N];
int main()
{
f >> n;
for (int i = 1; i <= n; i++) {
memset (frecv, 0, sizeof(frecv));
f >> s[i];
for (int j = 0; j < s[i].length(); j++)
frecv[s[i][j] - 'a' + 1]++;
int j = 0;
for (int k = 1; k <= 'z' - 'a' + 1; k++)
for (int l = 1; l <= frecv[k]; l++)
s[i][j++] = (char)(k + 96);
}
sort (s + 1, s + n + 1, cmp);
for (int i = 2; i < n; i++)
if (s[i] != s[i + 1] && s[i] != s[i - 1])
rez++;
if (s[1] != s[2])
rez++;
if (s[n] != s[n - 1])
rez++;
g << rez << '\n';
return 0;
}